diff options
Diffstat (limited to 'drivers/net/wireless/ti/wl18xx/wl18xx.h')
-rw-r--r-- | drivers/net/wireless/ti/wl18xx/wl18xx.h | 62 |
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 | ||
45 | struct wl18xx_priv { | 48 | struct 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 | ||
115 | struct 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 */ | ||
132 | struct 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 | ||
114 | struct wl18xx_static_data_priv { | 170 | struct wl18xx_static_data_priv { |