aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/wl12xx/acx.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/wl12xx/acx.h')
-rw-r--r--drivers/net/wireless/wl12xx/acx.h91
1 files changed, 48 insertions, 43 deletions
diff --git a/drivers/net/wireless/wl12xx/acx.h b/drivers/net/wireless/wl12xx/acx.h
index e3f93b4b3429..69892b40c2df 100644
--- a/drivers/net/wireless/wl12xx/acx.h
+++ b/drivers/net/wireless/wl12xx/acx.h
@@ -171,13 +171,6 @@ struct acx_rx_msdu_lifetime {
171 __le32 lifetime; 171 __le32 lifetime;
172} __packed; 172} __packed;
173 173
174struct acx_packet_detection {
175 struct acx_header header;
176
177 __le32 threshold;
178} __packed;
179
180
181enum acx_slot_type { 174enum acx_slot_type {
182 SLOT_TIME_LONG = 0, 175 SLOT_TIME_LONG = 0,
183 SLOT_TIME_SHORT = 1, 176 SLOT_TIME_SHORT = 1,
@@ -654,11 +647,6 @@ struct acx_rate_class {
654 u8 reserved; 647 u8 reserved;
655}; 648};
656 649
657#define ACX_TX_BASIC_RATE 0
658#define ACX_TX_AP_FULL_RATE 1
659#define ACX_TX_BASIC_RATE_P2P 2
660#define ACX_TX_AP_MODE_MGMT_RATE 4
661#define ACX_TX_AP_MODE_BCST_RATE 5
662struct acx_rate_policy { 650struct acx_rate_policy {
663 struct acx_header header; 651 struct acx_header header;
664 652
@@ -1234,39 +1222,48 @@ enum {
1234}; 1222};
1235 1223
1236 1224
1237int wl1271_acx_wake_up_conditions(struct wl1271 *wl); 1225int wl1271_acx_wake_up_conditions(struct wl1271 *wl,
1226 struct wl12xx_vif *wlvif);
1238int wl1271_acx_sleep_auth(struct wl1271 *wl, u8 sleep_auth); 1227int wl1271_acx_sleep_auth(struct wl1271 *wl, u8 sleep_auth);
1239int wl1271_acx_tx_power(struct wl1271 *wl, int power); 1228int wl1271_acx_tx_power(struct wl1271 *wl, struct wl12xx_vif *wlvif,
1240int wl1271_acx_feature_cfg(struct wl1271 *wl); 1229 int power);
1230int wl1271_acx_feature_cfg(struct wl1271 *wl, struct wl12xx_vif *wlvif);
1241int wl1271_acx_mem_map(struct wl1271 *wl, 1231int wl1271_acx_mem_map(struct wl1271 *wl,
1242 struct acx_header *mem_map, size_t len); 1232 struct acx_header *mem_map, size_t len);
1243int wl1271_acx_rx_msdu_life_time(struct wl1271 *wl); 1233int wl1271_acx_rx_msdu_life_time(struct wl1271 *wl);
1244int wl1271_acx_pd_threshold(struct wl1271 *wl); 1234int wl1271_acx_slot(struct wl1271 *wl, struct wl12xx_vif *wlvif,
1245int wl1271_acx_slot(struct wl1271 *wl, enum acx_slot_type slot_time); 1235 enum acx_slot_type slot_time);
1246int wl1271_acx_group_address_tbl(struct wl1271 *wl, bool enable, 1236int wl1271_acx_group_address_tbl(struct wl1271 *wl, struct wl12xx_vif *wlvif,
1247 void *mc_list, u32 mc_list_len); 1237 bool enable, void *mc_list, u32 mc_list_len);
1248int wl1271_acx_service_period_timeout(struct wl1271 *wl); 1238int wl1271_acx_service_period_timeout(struct wl1271 *wl,
1249int wl1271_acx_rts_threshold(struct wl1271 *wl, u32 rts_threshold); 1239 struct wl12xx_vif *wlvif);
1240int wl1271_acx_rts_threshold(struct wl1271 *wl, struct wl12xx_vif *wlvif,
1241 u32 rts_threshold);
1250int wl1271_acx_dco_itrim_params(struct wl1271 *wl); 1242int wl1271_acx_dco_itrim_params(struct wl1271 *wl);
1251int wl1271_acx_beacon_filter_opt(struct wl1271 *wl, bool enable_filter); 1243int wl1271_acx_beacon_filter_opt(struct wl1271 *wl, struct wl12xx_vif *wlvif,
1252int wl1271_acx_beacon_filter_table(struct wl1271 *wl); 1244 bool enable_filter);
1253int wl1271_acx_conn_monit_params(struct wl1271 *wl, bool enable); 1245int wl1271_acx_beacon_filter_table(struct wl1271 *wl,
1246 struct wl12xx_vif *wlvif);
1247int wl1271_acx_conn_monit_params(struct wl1271 *wl, struct wl12xx_vif *wlvif,
1248 bool enable);
1254int wl1271_acx_sg_enable(struct wl1271 *wl, bool enable); 1249int wl1271_acx_sg_enable(struct wl1271 *wl, bool enable);
1255int wl12xx_acx_sg_cfg(struct wl1271 *wl); 1250int wl12xx_acx_sg_cfg(struct wl1271 *wl);
1256int wl1271_acx_cca_threshold(struct wl1271 *wl); 1251int wl1271_acx_cca_threshold(struct wl1271 *wl);
1257int wl1271_acx_bcn_dtim_options(struct wl1271 *wl); 1252int wl1271_acx_bcn_dtim_options(struct wl1271 *wl, struct wl12xx_vif *wlvif);
1258int wl1271_acx_aid(struct wl1271 *wl, u16 aid); 1253int wl1271_acx_aid(struct wl1271 *wl, struct wl12xx_vif *wlvif, u16 aid);
1259int wl1271_acx_event_mbox_mask(struct wl1271 *wl, u32 event_mask); 1254int wl1271_acx_event_mbox_mask(struct wl1271 *wl, u32 event_mask);
1260int wl1271_acx_set_preamble(struct wl1271 *wl, enum acx_preamble_type preamble); 1255int wl1271_acx_set_preamble(struct wl1271 *wl, struct wl12xx_vif *wlvif,
1261int wl1271_acx_cts_protect(struct wl1271 *wl, 1256 enum acx_preamble_type preamble);
1257int wl1271_acx_cts_protect(struct wl1271 *wl, struct wl12xx_vif *wlvif,
1262 enum acx_ctsprotect_type ctsprotect); 1258 enum acx_ctsprotect_type ctsprotect);
1263int wl1271_acx_statistics(struct wl1271 *wl, struct acx_statistics *stats); 1259int wl1271_acx_statistics(struct wl1271 *wl, struct acx_statistics *stats);
1264int wl1271_acx_sta_rate_policies(struct wl1271 *wl); 1260int wl1271_acx_sta_rate_policies(struct wl1271 *wl, struct wl12xx_vif *wlvif);
1265int wl1271_acx_ap_rate_policy(struct wl1271 *wl, struct conf_tx_rate_class *c, 1261int wl1271_acx_ap_rate_policy(struct wl1271 *wl, struct conf_tx_rate_class *c,
1266 u8 idx); 1262 u8 idx);
1267int wl1271_acx_ac_cfg(struct wl1271 *wl, u8 ac, u8 cw_min, u16 cw_max, 1263int wl1271_acx_ac_cfg(struct wl1271 *wl, struct wl12xx_vif *wlvif,
1268 u8 aifsn, u16 txop); 1264 u8 ac, u8 cw_min, u16 cw_max, u8 aifsn, u16 txop);
1269int wl1271_acx_tid_cfg(struct wl1271 *wl, u8 queue_id, u8 channel_type, 1265int wl1271_acx_tid_cfg(struct wl1271 *wl, struct wl12xx_vif *wlvif,
1266 u8 queue_id, u8 channel_type,
1270 u8 tsid, u8 ps_scheme, u8 ack_policy, 1267 u8 tsid, u8 ps_scheme, u8 ack_policy,
1271 u32 apsd_conf0, u32 apsd_conf1); 1268 u32 apsd_conf0, u32 apsd_conf1);
1272int wl1271_acx_frag_threshold(struct wl1271 *wl, u32 frag_threshold); 1269int wl1271_acx_frag_threshold(struct wl1271 *wl, u32 frag_threshold);
@@ -1276,26 +1273,34 @@ int wl1271_acx_init_mem_config(struct wl1271 *wl);
1276int wl1271_acx_host_if_cfg_bitmap(struct wl1271 *wl, u32 host_cfg_bitmap); 1273int wl1271_acx_host_if_cfg_bitmap(struct wl1271 *wl, u32 host_cfg_bitmap);
1277int wl1271_acx_init_rx_interrupt(struct wl1271 *wl); 1274int wl1271_acx_init_rx_interrupt(struct wl1271 *wl);
1278int wl1271_acx_smart_reflex(struct wl1271 *wl); 1275int wl1271_acx_smart_reflex(struct wl1271 *wl);
1279int wl1271_acx_bet_enable(struct wl1271 *wl, bool enable); 1276int wl1271_acx_bet_enable(struct wl1271 *wl, struct wl12xx_vif *wlvif,
1280int wl1271_acx_arp_ip_filter(struct wl1271 *wl, u8 enable, __be32 address); 1277 bool enable);
1278int wl1271_acx_arp_ip_filter(struct wl1271 *wl, struct wl12xx_vif *wlvif,
1279 u8 enable, __be32 address);
1281int wl1271_acx_pm_config(struct wl1271 *wl); 1280int wl1271_acx_pm_config(struct wl1271 *wl);
1282int wl1271_acx_keep_alive_mode(struct wl1271 *wl, bool enable); 1281int wl1271_acx_keep_alive_mode(struct wl1271 *wl, struct wl12xx_vif *vif,
1283int wl1271_acx_keep_alive_config(struct wl1271 *wl, u8 index, u8 tpl_valid); 1282 bool enable);
1284int wl1271_acx_rssi_snr_trigger(struct wl1271 *wl, bool enable, 1283int wl1271_acx_keep_alive_config(struct wl1271 *wl, struct wl12xx_vif *wlvif,
1285 s16 thold, u8 hyst); 1284 u8 index, u8 tpl_valid);
1286int wl1271_acx_rssi_snr_avg_weights(struct wl1271 *wl); 1285int wl1271_acx_rssi_snr_trigger(struct wl1271 *wl, struct wl12xx_vif *wlvif,
1286 bool enable, s16 thold, u8 hyst);
1287int wl1271_acx_rssi_snr_avg_weights(struct wl1271 *wl,
1288 struct wl12xx_vif *wlvif);
1287int wl1271_acx_set_ht_capabilities(struct wl1271 *wl, 1289int wl1271_acx_set_ht_capabilities(struct wl1271 *wl,
1288 struct ieee80211_sta_ht_cap *ht_cap, 1290 struct ieee80211_sta_ht_cap *ht_cap,
1289 bool allow_ht_operation, u8 hlid); 1291 bool allow_ht_operation, u8 hlid);
1290int wl1271_acx_set_ht_information(struct wl1271 *wl, 1292int wl1271_acx_set_ht_information(struct wl1271 *wl,
1293 struct wl12xx_vif *wlvif,
1291 u16 ht_operation_mode); 1294 u16 ht_operation_mode);
1292int wl12xx_acx_set_ba_initiator_policy(struct wl1271 *wl); 1295int wl12xx_acx_set_ba_initiator_policy(struct wl1271 *wl,
1296 struct wl12xx_vif *wlvif);
1293int wl12xx_acx_set_ba_receiver_session(struct wl1271 *wl, u8 tid_index, 1297int wl12xx_acx_set_ba_receiver_session(struct wl1271 *wl, u8 tid_index,
1294 u16 ssn, bool enable, u8 peer_hlid); 1298 u16 ssn, bool enable, u8 peer_hlid);
1295int wl1271_acx_tsf_info(struct wl1271 *wl, u64 *mactime); 1299int wl1271_acx_tsf_info(struct wl1271 *wl, u64 *mactime);
1296int wl1271_acx_ps_rx_streaming(struct wl1271 *wl, bool enable); 1300int wl1271_acx_ps_rx_streaming(struct wl1271 *wl, struct wl12xx_vif *wlvif,
1297int wl1271_acx_ap_max_tx_retry(struct wl1271 *wl); 1301 bool enable);
1298int wl1271_acx_config_ps(struct wl1271 *wl); 1302int wl1271_acx_ap_max_tx_retry(struct wl1271 *wl, struct wl12xx_vif *wlvif);
1303int wl12xx_acx_config_ps(struct wl1271 *wl, struct wl12xx_vif *wlvif);
1299int wl1271_acx_set_inconnection_sta(struct wl1271 *wl, u8 *addr); 1304int wl1271_acx_set_inconnection_sta(struct wl1271 *wl, u8 *addr);
1300int wl1271_acx_fm_coex(struct wl1271 *wl); 1305int wl1271_acx_fm_coex(struct wl1271 *wl);
1301int wl12xx_acx_set_rate_mgmt_params(struct wl1271 *wl); 1306int wl12xx_acx_set_rate_mgmt_params(struct wl1271 *wl);