diff options
Diffstat (limited to 'drivers/net/wireless/wl12xx/wl12xx.h')
-rw-r--r-- | drivers/net/wireless/wl12xx/wl12xx.h | 46 |
1 files changed, 32 insertions, 14 deletions
diff --git a/drivers/net/wireless/wl12xx/wl12xx.h b/drivers/net/wireless/wl12xx/wl12xx.h index b2b09cd02022..90352415e2aa 100644 --- a/drivers/net/wireless/wl12xx/wl12xx.h +++ b/drivers/net/wireless/wl12xx/wl12xx.h | |||
@@ -35,8 +35,14 @@ | |||
35 | #include "conf.h" | 35 | #include "conf.h" |
36 | #include "ini.h" | 36 | #include "ini.h" |
37 | 37 | ||
38 | #define WL127X_FW_NAME "ti-connectivity/wl127x-fw-3.bin" | 38 | #define WL127X_FW_NAME_MULTI "ti-connectivity/wl127x-fw-4-mr.bin" |
39 | #define WL128X_FW_NAME "ti-connectivity/wl128x-fw-3.bin" | 39 | #define WL127X_FW_NAME_SINGLE "ti-connectivity/wl127x-fw-4-sr.bin" |
40 | |||
41 | #define WL128X_FW_NAME_MULTI "ti-connectivity/wl128x-fw-4-mr.bin" | ||
42 | #define WL128X_FW_NAME_SINGLE "ti-connectivity/wl128x-fw-4-sr.bin" | ||
43 | |||
44 | #define WL127X_PLT_FW_NAME "ti-connectivity/wl127x-fw-4-plt.bin" | ||
45 | #define WL128X_PLT_FW_NAME "ti-connectivity/wl128x-fw-4-plt.bin" | ||
40 | 46 | ||
41 | /* | 47 | /* |
42 | * wl127x and wl128x are using the same NVS file name. However, the | 48 | * wl127x and wl128x are using the same NVS file name. However, the |
@@ -90,7 +96,13 @@ | |||
90 | enum wl1271_state { | 96 | enum wl1271_state { |
91 | WL1271_STATE_OFF, | 97 | WL1271_STATE_OFF, |
92 | WL1271_STATE_ON, | 98 | WL1271_STATE_ON, |
93 | WL1271_STATE_PLT, | 99 | }; |
100 | |||
101 | enum wl12xx_fw_type { | ||
102 | WL12XX_FW_TYPE_NONE, | ||
103 | WL12XX_FW_TYPE_NORMAL, | ||
104 | WL12XX_FW_TYPE_MULTI, | ||
105 | WL12XX_FW_TYPE_PLT, | ||
94 | }; | 106 | }; |
95 | 107 | ||
96 | enum wl1271_partition_type { | 108 | enum wl1271_partition_type { |
@@ -247,6 +259,7 @@ enum wl12xx_flags { | |||
247 | WL1271_FLAG_PENDING_WORK, | 259 | WL1271_FLAG_PENDING_WORK, |
248 | WL1271_FLAG_SOFT_GEMINI, | 260 | WL1271_FLAG_SOFT_GEMINI, |
249 | WL1271_FLAG_RECOVERY_IN_PROGRESS, | 261 | WL1271_FLAG_RECOVERY_IN_PROGRESS, |
262 | WL1271_FLAG_VIF_CHANGE_IN_PROGRESS, | ||
250 | }; | 263 | }; |
251 | 264 | ||
252 | enum wl12xx_vif_flags { | 265 | enum wl12xx_vif_flags { |
@@ -254,8 +267,7 @@ enum wl12xx_vif_flags { | |||
254 | WLVIF_FLAG_STA_ASSOCIATED, | 267 | WLVIF_FLAG_STA_ASSOCIATED, |
255 | WLVIF_FLAG_IBSS_JOINED, | 268 | WLVIF_FLAG_IBSS_JOINED, |
256 | WLVIF_FLAG_AP_STARTED, | 269 | WLVIF_FLAG_AP_STARTED, |
257 | WLVIF_FLAG_PSM, | 270 | WLVIF_FLAG_IN_PS, |
258 | WLVIF_FLAG_PSM_REQUESTED, | ||
259 | WLVIF_FLAG_STA_STATE_SENT, | 271 | WLVIF_FLAG_STA_STATE_SENT, |
260 | WLVIF_FLAG_RX_STREAMING_STARTED, | 272 | WLVIF_FLAG_RX_STREAMING_STARTED, |
261 | WLVIF_FLAG_PSPOLL_FAILURE, | 273 | WLVIF_FLAG_PSPOLL_FAILURE, |
@@ -295,6 +307,9 @@ struct wl1271 { | |||
295 | spinlock_t wl_lock; | 307 | spinlock_t wl_lock; |
296 | 308 | ||
297 | enum wl1271_state state; | 309 | enum wl1271_state state; |
310 | enum wl12xx_fw_type fw_type; | ||
311 | bool plt; | ||
312 | u8 last_vif_count; | ||
298 | struct mutex mutex; | 313 | struct mutex mutex; |
299 | 314 | ||
300 | unsigned long flags; | 315 | unsigned long flags; |
@@ -313,7 +328,12 @@ struct wl1271 { | |||
313 | 328 | ||
314 | s8 hw_pg_ver; | 329 | s8 hw_pg_ver; |
315 | 330 | ||
316 | u8 mac_addr[ETH_ALEN]; | 331 | /* address read from the fuse ROM */ |
332 | u32 fuse_oui_addr; | ||
333 | u32 fuse_nic_addr; | ||
334 | |||
335 | /* we have up to 2 MAC addresses */ | ||
336 | struct mac_address addresses[2]; | ||
317 | int channel; | 337 | int channel; |
318 | u8 system_hlid; | 338 | u8 system_hlid; |
319 | 339 | ||
@@ -425,8 +445,6 @@ struct wl1271 { | |||
425 | struct wl12xx_fw_status *fw_status; | 445 | struct wl12xx_fw_status *fw_status; |
426 | struct wl1271_tx_hw_res_if *tx_res_if; | 446 | struct wl1271_tx_hw_res_if *tx_res_if; |
427 | 447 | ||
428 | struct ieee80211_vif *vif; | ||
429 | |||
430 | /* Current chipset configuration */ | 448 | /* Current chipset configuration */ |
431 | struct conf_drv_settings conf; | 449 | struct conf_drv_settings conf; |
432 | 450 | ||
@@ -503,6 +521,8 @@ struct wl12xx_vif { | |||
503 | u8 basic_rate_idx; | 521 | u8 basic_rate_idx; |
504 | u8 ap_rate_idx; | 522 | u8 ap_rate_idx; |
505 | u8 p2p_rate_idx; | 523 | u8 p2p_rate_idx; |
524 | |||
525 | bool qos; | ||
506 | } sta; | 526 | } sta; |
507 | struct { | 527 | struct { |
508 | u8 global_hlid; | 528 | u8 global_hlid; |
@@ -560,12 +580,6 @@ struct wl12xx_vif { | |||
560 | /* Session counter for the chipset */ | 580 | /* Session counter for the chipset */ |
561 | int session_counter; | 581 | int session_counter; |
562 | 582 | ||
563 | struct completion *ps_compl; | ||
564 | struct delayed_work pspoll_work; | ||
565 | |||
566 | /* counter for ps-poll delivery failures */ | ||
567 | int ps_poll_failures; | ||
568 | |||
569 | /* retry counter for PSM entries */ | 583 | /* retry counter for PSM entries */ |
570 | u8 psm_entry_retry; | 584 | u8 psm_entry_retry; |
571 | 585 | ||
@@ -575,6 +589,10 @@ struct wl12xx_vif { | |||
575 | int rssi_thold; | 589 | int rssi_thold; |
576 | int last_rssi_event; | 590 | int last_rssi_event; |
577 | 591 | ||
592 | /* save the current encryption type for auto-arp config */ | ||
593 | u8 encryption_type; | ||
594 | __be32 ip_addr; | ||
595 | |||
578 | /* RX BA constraint value */ | 596 | /* RX BA constraint value */ |
579 | bool ba_support; | 597 | bool ba_support; |
580 | bool ba_allowed; | 598 | bool ba_allowed; |