.. | .. |
---|
112 | 112 | #define RSI_WOW_ENABLED BIT(0) |
---|
113 | 113 | #define RSI_WOW_NO_CONNECTION BIT(1) |
---|
114 | 114 | |
---|
115 | | -#define RSI_DEV_9113 1 |
---|
116 | 115 | #define RSI_MAX_RX_PKTS 64 |
---|
| 116 | + |
---|
| 117 | +enum rsi_dev_model { |
---|
| 118 | + RSI_DEV_9113 = 0, |
---|
| 119 | + RSI_DEV_9116 |
---|
| 120 | +}; |
---|
117 | 121 | |
---|
118 | 122 | struct version_info { |
---|
119 | 123 | u16 major; |
---|
.. | .. |
---|
165 | 169 | u32 total_tx_pkt_freed[NUM_EDCA_QUEUES + 2]; |
---|
166 | 170 | }; |
---|
167 | 171 | |
---|
| 172 | +#define MAX_BGSCAN_CHANNELS_DUAL_BAND 38 |
---|
| 173 | +#define MAX_BGSCAN_PROBE_REQ_LEN 0x64 |
---|
| 174 | +#define RSI_DEF_BGSCAN_THRLD 0x0 |
---|
| 175 | +#define RSI_DEF_ROAM_THRLD 0xa |
---|
| 176 | +#define RSI_BGSCAN_PERIODICITY 0x1e |
---|
| 177 | +#define RSI_ACTIVE_SCAN_TIME 0x14 |
---|
| 178 | +#define RSI_PASSIVE_SCAN_TIME 0x46 |
---|
| 179 | +#define RSI_CHANNEL_SCAN_TIME 20 |
---|
| 180 | +struct rsi_bgscan_params { |
---|
| 181 | + u16 bgscan_threshold; |
---|
| 182 | + u16 roam_threshold; |
---|
| 183 | + u16 bgscan_periodicity; |
---|
| 184 | + u8 num_bgscan_channels; |
---|
| 185 | + u8 two_probe; |
---|
| 186 | + u16 active_scan_duration; |
---|
| 187 | + u16 passive_scan_duration; |
---|
| 188 | +}; |
---|
| 189 | + |
---|
168 | 190 | struct vif_priv { |
---|
169 | 191 | bool is_ht; |
---|
170 | 192 | bool sgi; |
---|
.. | .. |
---|
196 | 218 | RSI_REGION_ETSI, |
---|
197 | 219 | RSI_REGION_TELEC, |
---|
198 | 220 | RSI_REGION_WORLD |
---|
| 221 | +}; |
---|
| 222 | + |
---|
| 223 | +struct rsi_9116_features { |
---|
| 224 | + u8 pll_mode; |
---|
| 225 | + u8 rf_type; |
---|
| 226 | + u8 wireless_mode; |
---|
| 227 | + u8 afe_type; |
---|
| 228 | + u8 enable_ppe; |
---|
| 229 | + u8 dpd; |
---|
| 230 | + u32 sifs_tx_enable; |
---|
| 231 | + u32 ps_options; |
---|
199 | 232 | }; |
---|
200 | 233 | |
---|
201 | 234 | struct rsi_rate_config { |
---|
.. | .. |
---|
296 | 329 | bool eapol4_confirm; |
---|
297 | 330 | bool bt_defer_attach; |
---|
298 | 331 | void *bt_adapter; |
---|
| 332 | + |
---|
| 333 | + struct cfg80211_scan_request *hwscan; |
---|
| 334 | + struct rsi_bgscan_params bgscan; |
---|
| 335 | + struct rsi_9116_features w9116_features; |
---|
| 336 | + u8 bgscan_en; |
---|
| 337 | + u8 mac_ops_resumed; |
---|
299 | 338 | }; |
---|
300 | 339 | |
---|
301 | 340 | struct eepromrw_info { |
---|
.. | .. |
---|
313 | 352 | |
---|
314 | 353 | struct rsi_hw { |
---|
315 | 354 | struct rsi_common *priv; |
---|
316 | | - u8 device_model; |
---|
| 355 | + enum rsi_dev_model device_model; |
---|
317 | 356 | struct ieee80211_hw *hw; |
---|
318 | 357 | struct ieee80211_vif *vifs[RSI_MAX_VIFS]; |
---|
319 | 358 | struct ieee80211_tx_queue_params edca_params[NUM_EDCA_QUEUES]; |
---|
.. | .. |
---|
365 | 404 | u32 instructions_size, u16 block_size, |
---|
366 | 405 | u8 *fw); |
---|
367 | 406 | int (*reinit_device)(struct rsi_hw *adapter); |
---|
| 407 | + int (*ta_reset)(struct rsi_hw *adapter); |
---|
368 | 408 | }; |
---|
369 | 409 | |
---|
370 | 410 | enum rsi_host_intf rsi_get_host_intf(void *priv); |
---|