aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/wl12xx/acx.h
diff options
context:
space:
mode:
authorShahar Levi <shahar_levi@ti.com>2011-03-06 09:32:08 -0500
committerLuciano Coelho <coelho@ti.com>2011-04-19 09:19:47 -0400
commit48a61477bdc04896bd96d259388a0c42a7019943 (patch)
treed36c7638d2405a63db333713a5c7897d736011a5 /drivers/net/wireless/wl12xx/acx.h
parent5aa42346bba2e385674eb1dd4019dfce4c2ef771 (diff)
wl12xx: 1281/1283 support - Add acx commands
New acx command that sets: Rx fifo enable reduced bus transactions in RX path. Tx bus transactions padding to SDIO block size that improve preference in Tx and essential for working with SDIO HS (48Mhz). The max SDIO block size is 256 when working with Tx bus transactions padding to SDIO block. Add new ops to SDIO & SPI that handles the win size change in case of transactions padding (relevant only for SDIO). [Fix endianess issues; simplify sdio-specific block_size handling; minor changes in comments; use "aligned_len" in one calculation instead of "pad" to avoid confusion -- Luca] Signed-off-by: Shahar Levi <shahar_levi@ti.com> Reviewed-by: Luciano Coelho <coelho@ti.com> Signed-off-by: Luciano Coelho <coelho@ti.com>
Diffstat (limited to 'drivers/net/wireless/wl12xx/acx.h')
-rw-r--r--drivers/net/wireless/wl12xx/acx.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/net/wireless/wl12xx/acx.h b/drivers/net/wireless/wl12xx/acx.h
index dd19b01d807b..0a40caeab2a2 100644
--- a/drivers/net/wireless/wl12xx/acx.h
+++ b/drivers/net/wireless/wl12xx/acx.h
@@ -939,6 +939,16 @@ struct wl1271_acx_keep_alive_config {
939 u8 padding; 939 u8 padding;
940} __packed; 940} __packed;
941 941
942#define HOST_IF_CFG_RX_FIFO_ENABLE BIT(0)
943#define HOST_IF_CFG_TX_EXTRA_BLKS_SWAP BIT(1)
944#define HOST_IF_CFG_TX_PAD_TO_SDIO_BLK BIT(3)
945
946struct wl1271_acx_host_config_bitmap {
947 struct acx_header header;
948
949 __le32 host_cfg_bitmap;
950} __packed;
951
942enum { 952enum {
943 WL1271_ACX_TRIG_TYPE_LEVEL = 0, 953 WL1271_ACX_TRIG_TYPE_LEVEL = 0,
944 WL1271_ACX_TRIG_TYPE_EDGE, 954 WL1271_ACX_TRIG_TYPE_EDGE,
@@ -1275,6 +1285,7 @@ int wl1271_acx_tx_config_options(struct wl1271 *wl);
1275int wl1271_acx_ap_mem_cfg(struct wl1271 *wl); 1285int wl1271_acx_ap_mem_cfg(struct wl1271 *wl);
1276int wl1271_acx_sta_mem_cfg(struct wl1271 *wl); 1286int wl1271_acx_sta_mem_cfg(struct wl1271 *wl);
1277int wl1271_acx_init_mem_config(struct wl1271 *wl); 1287int wl1271_acx_init_mem_config(struct wl1271 *wl);
1288int wl1271_acx_host_if_cfg_bitmap(struct wl1271 *wl, u32 host_cfg_bitmap);
1278int wl1271_acx_init_rx_interrupt(struct wl1271 *wl); 1289int wl1271_acx_init_rx_interrupt(struct wl1271 *wl);
1279int wl1271_acx_smart_reflex(struct wl1271 *wl); 1290int wl1271_acx_smart_reflex(struct wl1271 *wl);
1280int wl1271_acx_bet_enable(struct wl1271 *wl, bool enable); 1291int wl1271_acx_bet_enable(struct wl1271 *wl, bool enable);