diff options
author | Christer Weinigel <christer@weinigel.se> | 2008-10-14 19:17:17 -0400 |
---|---|---|
committer | Pierre Ossman <drzeus@drzeus.cx> | 2008-10-15 12:05:14 -0400 |
commit | 088a78af978d0c8e339071a9b2bca1f4cb368f30 (patch) | |
tree | d9f3359292c7682f5c926722e0045eafd443cfca /drivers/mmc/host/s3cmci.h | |
parent | f87e6d00fbd367f2d61fd600b5f8bd6e39d63f3f (diff) |
s3cmci: Support transfers which are not multiple of 32 bits.
To be able to do SDIO the s3cmci driver has to support non-word-sized
transfers. Change pio_words into pio_bytes and fix up all the places
where it is used.
This variant of the patch will not overrun the buffer when reading an
odd number of bytes. When writing, this variant will still read past
the end of the buffer, but since the driver can't support non-word-
aligned transfers anyway, this should not be a problem, since a
word-aligned transfer will never cross a page boundary.
This has been tested with a CSR SDIO Bluetooth Type A device on a
Samsung S3C24A0 processor.
Signed-off-by: Christer Weinigel <christer@weinigel.se>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
Diffstat (limited to 'drivers/mmc/host/s3cmci.h')
-rw-r--r-- | drivers/mmc/host/s3cmci.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/mmc/host/s3cmci.h b/drivers/mmc/host/s3cmci.h index 7e39109587f9..ca1ba3d58cfd 100644 --- a/drivers/mmc/host/s3cmci.h +++ b/drivers/mmc/host/s3cmci.h | |||
@@ -51,7 +51,7 @@ struct s3cmci_host { | |||
51 | int dma_complete; | 51 | int dma_complete; |
52 | 52 | ||
53 | u32 pio_sgptr; | 53 | u32 pio_sgptr; |
54 | u32 pio_words; | 54 | u32 pio_bytes; |
55 | u32 pio_count; | 55 | u32 pio_count; |
56 | u32 *pio_ptr; | 56 | u32 *pio_ptr; |
57 | #define XFER_NONE 0 | 57 | #define XFER_NONE 0 |