summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/libertas/if_sdio.h
diff options
context:
space:
mode:
authorBing Zhao <bzhao@marvell.com>2009-05-19 19:48:19 -0700
committerJohn W. Linville <linville@tuxdriver.com>2009-05-22 14:06:00 -0400
commitb136a1414c94b4bda1057b4ffde26253d2527628 (patch)
tree0a534b4665d2b9478f2372473587b1d881e783e7 /drivers/net/wireless/libertas/if_sdio.h
parente70a5ac5d27166cfe5bfbe8f63017af3b09d72ce (diff)
downloadblackbird-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.h3
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
OpenPOWER on IntegriCloud