diff options
author | Bing Zhao <bzhao@marvell.com> | 2009-05-19 19:48:19 -0700 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2009-05-22 14:06:00 -0400 |
commit | b136a1414c94b4bda1057b4ffde26253d2527628 (patch) | |
tree | 0a534b4665d2b9478f2372473587b1d881e783e7 /drivers/net/wireless/libertas/if_sdio.h | |
parent | e70a5ac5d27166cfe5bfbe8f63017af3b09d72ce (diff) | |
download | blackbird-op-linux-b136a1414c94b4bda1057b4ffde26253d2527628.tar.gz blackbird-op-linux-b136a1414c94b4bda1057b4ffde26253d2527628.zip |
libertas: get SD8688 rx length with one CMD52
Usually, the 16-bit rx length is read from scratch pad registers
with two CMD52 transactions:
SD8385: IF_SDIO_SCRATCH_OLD (0x80fe/0x80ff)
SD8686/SD8688: IF_SDIO_SCRATCH (0x34/0x35)
Alternatively, SD8688 firmware offers an enhanced method for driver
to read an 8-bit rx length (in units) with a single CMD52:
IF_SDIO_RX_UNIT 0x43 is read one time after firmware is ready.
IF_SDIO_RX_LEN 0x42 is read every time when rx interrupt is received.
Signed-off-by: Bing Zhao <bzhao@marvell.com>
Acked-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/libertas/if_sdio.h')
-rw-r--r-- | drivers/net/wireless/libertas/if_sdio.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/wireless/libertas/if_sdio.h b/drivers/net/wireless/libertas/if_sdio.h index cea343f9afd1..d3a4fbe07692 100644 --- a/drivers/net/wireless/libertas/if_sdio.h +++ b/drivers/net/wireless/libertas/if_sdio.h @@ -44,6 +44,9 @@ #define IF_SDIO_SCRATCH_OLD 0x80fe #define IF_SDIO_FIRMWARE_OK 0xfedc +#define IF_SDIO_RX_LEN 0x42 +#define IF_SDIO_RX_UNIT 0x43 + #define IF_SDIO_EVENT 0x80fc #define IF_SDIO_BLOCK_SIZE 256 |