aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ti/wl18xx/wl18xx.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/ti/wl18xx/wl18xx.h')
-rw-r--r--drivers/net/wireless/ti/wl18xx/wl18xx.h62
1 files changed, 59 insertions, 3 deletions
diff --git a/drivers/net/wireless/ti/wl18xx/wl18xx.h b/drivers/net/wireless/ti/wl18xx/wl18xx.h
index 9204e07ee432..eb7cfe817010 100644
--- a/drivers/net/wireless/ti/wl18xx/wl18xx.h
+++ b/drivers/net/wireless/ti/wl18xx/wl18xx.h
@@ -26,10 +26,10 @@
26 26
27/* minimum FW required for driver */ 27/* minimum FW required for driver */
28#define WL18XX_CHIP_VER 8 28#define WL18XX_CHIP_VER 8
29#define WL18XX_IFTYPE_VER 5 29#define WL18XX_IFTYPE_VER 8
30#define WL18XX_MAJOR_VER WLCORE_FW_VER_IGNORE 30#define WL18XX_MAJOR_VER WLCORE_FW_VER_IGNORE
31#define WL18XX_SUBTYPE_VER WLCORE_FW_VER_IGNORE 31#define WL18XX_SUBTYPE_VER WLCORE_FW_VER_IGNORE
32#define WL18XX_MINOR_VER 39 32#define WL18XX_MINOR_VER 13
33 33
34#define WL18XX_CMD_MAX_SIZE 740 34#define WL18XX_CMD_MAX_SIZE 740
35 35
@@ -40,7 +40,10 @@
40 40
41#define WL18XX_NUM_MAC_ADDRESSES 3 41#define WL18XX_NUM_MAC_ADDRESSES 3
42 42
43#define WL18XX_RX_BA_MAX_SESSIONS 5 43#define WL18XX_RX_BA_MAX_SESSIONS 13
44
45#define WL18XX_MAX_AP_STATIONS 10
46#define WL18XX_MAX_LINKS 16
44 47
45struct wl18xx_priv { 48struct wl18xx_priv {
46 /* buffer for sending commands to FW */ 49 /* buffer for sending commands to FW */
@@ -109,6 +112,59 @@ struct wl18xx_fw_status_priv {
109 u8 padding[3]; 112 u8 padding[3];
110}; 113};
111 114
115struct wl18xx_fw_packet_counters {
116 /* Cumulative counter of released packets per AC */
117 u8 tx_released_pkts[NUM_TX_QUEUES];
118
119 /* Cumulative counter of freed packets per HLID */
120 u8 tx_lnk_free_pkts[WL18XX_MAX_LINKS];
121
122 /* Cumulative counter of released Voice memory blocks */
123 u8 tx_voice_released_blks;
124
125 /* Tx rate of the last transmitted packet */
126 u8 tx_last_rate;
127
128 u8 padding[2];
129} __packed;
130
131/* FW status registers */
132struct wl18xx_fw_status {
133 __le32 intr;
134 u8 fw_rx_counter;
135 u8 drv_rx_counter;
136 u8 reserved;
137 u8 tx_results_counter;
138 __le32 rx_pkt_descs[WL18XX_NUM_RX_DESCRIPTORS];
139
140 __le32 fw_localtime;
141
142 /*
143 * A bitmap (where each bit represents a single HLID)
144 * to indicate if the station is in PS mode.
145 */
146 __le32 link_ps_bitmap;
147
148 /*
149 * A bitmap (where each bit represents a single HLID) to indicate
150 * if the station is in Fast mode
151 */
152 __le32 link_fast_bitmap;
153
154 /* Cumulative counter of total released mem blocks since FW-reset */
155 __le32 total_released_blks;
156
157 /* Size (in Memory Blocks) of TX pool */
158 __le32 tx_total;
159
160 struct wl18xx_fw_packet_counters counters;
161
162 __le32 log_start_addr;
163
164 /* Private status to be used by the lower drivers */
165 struct wl18xx_fw_status_priv priv;
166} __packed;
167
112#define WL18XX_PHY_VERSION_MAX_LEN 20 168#define WL18XX_PHY_VERSION_MAX_LEN 20
113 169
114struct wl18xx_static_data_priv { 170struct wl18xx_static_data_priv {