aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>2011-10-25 10:04:25 -0400
committerKalle Valo <kvalo@qca.qualcomm.com>2011-11-11 05:58:53 -0500
commit0ce5944552d87fe6e007a0338059a75525142dd3 (patch)
tree05caec73b6e4fbafb017383a5c0870d17fc92e03
parent3226f68af4fe74932677db271b4ac4f26556954d (diff)
ath6kl: Initialize target wlan values for every vif
Wlan parameters need to be configured for every vif in target. Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
-rw-r--r--drivers/net/wireless/ath/ath6kl/debug.c4
-rw-r--r--drivers/net/wireless/ath/ath6kl/init.c34
-rw-r--r--drivers/net/wireless/ath/ath6kl/wmi.c35
-rw-r--r--drivers/net/wireless/ath/ath6kl/wmi.h18
4 files changed, 53 insertions, 38 deletions
diff --git a/drivers/net/wireless/ath/ath6kl/debug.c b/drivers/net/wireless/ath/ath6kl/debug.c
index e515c83e3795..725d598ed299 100644
--- a/drivers/net/wireless/ath/ath6kl/debug.c
+++ b/drivers/net/wireless/ath/ath6kl/debug.c
@@ -1188,7 +1188,7 @@ static ssize_t ath6kl_keepalive_write(struct file *file,
1188 if (ret) 1188 if (ret)
1189 return ret; 1189 return ret;
1190 1190
1191 ret = ath6kl_wmi_set_keepalive_cmd(ar->wmi, val); 1191 ret = ath6kl_wmi_set_keepalive_cmd(ar->wmi, 0, val);
1192 if (ret) 1192 if (ret)
1193 return ret; 1193 return ret;
1194 1194
@@ -1233,7 +1233,7 @@ static ssize_t ath6kl_disconnect_timeout_write(struct file *file,
1233 if (ret) 1233 if (ret)
1234 return ret; 1234 return ret;
1235 1235
1236 ret = ath6kl_wmi_disctimeout_cmd(ar->wmi, val); 1236 ret = ath6kl_wmi_disctimeout_cmd(ar->wmi, 0, val);
1237 if (ret) 1237 if (ret)
1238 return ret; 1238 return ret;
1239 1239
diff --git a/drivers/net/wireless/ath/ath6kl/init.c b/drivers/net/wireless/ath/ath6kl/init.c
index 7784b2c00324..1dad98564447 100644
--- a/drivers/net/wireless/ath/ath6kl/init.c
+++ b/drivers/net/wireless/ath/ath6kl/init.c
@@ -352,7 +352,7 @@ void ath6kl_target_failure(struct ath6kl *ar)
352 352
353} 353}
354 354
355static int ath6kl_target_config_wlan_params(struct ath6kl *ar) 355static int ath6kl_target_config_wlan_params(struct ath6kl *ar, int idx)
356{ 356{
357 int status = 0; 357 int status = 0;
358 int ret; 358 int ret;
@@ -362,46 +362,50 @@ static int ath6kl_target_config_wlan_params(struct ath6kl *ar)
362 * default values. Required if checksum offload is needed. Set 362 * default values. Required if checksum offload is needed. Set
363 * RxMetaVersion to 2. 363 * RxMetaVersion to 2.
364 */ 364 */
365 if (ath6kl_wmi_set_rx_frame_format_cmd(ar->wmi, 365 if (ath6kl_wmi_set_rx_frame_format_cmd(ar->wmi, idx,
366 ar->rx_meta_ver, 0, 0)) { 366 ar->rx_meta_ver, 0, 0)) {
367 ath6kl_err("unable to set the rx frame format\n"); 367 ath6kl_err("unable to set the rx frame format\n");
368 status = -EIO; 368 status = -EIO;
369 } 369 }
370 370
371 if (ar->conf_flags & ATH6KL_CONF_IGNORE_PS_FAIL_EVT_IN_SCAN) 371 if (ar->conf_flags & ATH6KL_CONF_IGNORE_PS_FAIL_EVT_IN_SCAN)
372 if ((ath6kl_wmi_pmparams_cmd(ar->wmi, 0, 1, 0, 0, 1, 372 if ((ath6kl_wmi_pmparams_cmd(ar->wmi, idx, 0, 1, 0, 0, 1,
373 IGNORE_POWER_SAVE_FAIL_EVENT_DURING_SCAN)) != 0) { 373 IGNORE_POWER_SAVE_FAIL_EVENT_DURING_SCAN)) != 0) {
374 ath6kl_err("unable to set power save fail event policy\n"); 374 ath6kl_err("unable to set power save fail event policy\n");
375 status = -EIO; 375 status = -EIO;
376 } 376 }
377 377
378 if (!(ar->conf_flags & ATH6KL_CONF_IGNORE_ERP_BARKER)) 378 if (!(ar->conf_flags & ATH6KL_CONF_IGNORE_ERP_BARKER))
379 if ((ath6kl_wmi_set_lpreamble_cmd(ar->wmi, 0, 379 if ((ath6kl_wmi_set_lpreamble_cmd(ar->wmi, idx, 0,
380 WMI_DONOT_IGNORE_BARKER_IN_ERP)) != 0) { 380 WMI_DONOT_IGNORE_BARKER_IN_ERP)) != 0) {
381 ath6kl_err("unable to set barker preamble policy\n"); 381 ath6kl_err("unable to set barker preamble policy\n");
382 status = -EIO; 382 status = -EIO;
383 } 383 }
384 384
385 if (ath6kl_wmi_set_keepalive_cmd(ar->wmi, 385 if (ath6kl_wmi_set_keepalive_cmd(ar->wmi, idx,
386 WLAN_CONFIG_KEEP_ALIVE_INTERVAL)) { 386 WLAN_CONFIG_KEEP_ALIVE_INTERVAL)) {
387 ath6kl_err("unable to set keep alive interval\n"); 387 ath6kl_err("unable to set keep alive interval\n");
388 status = -EIO; 388 status = -EIO;
389 } 389 }
390 390
391 if (ath6kl_wmi_disctimeout_cmd(ar->wmi, 391 if (ath6kl_wmi_disctimeout_cmd(ar->wmi, idx,
392 WLAN_CONFIG_DISCONNECT_TIMEOUT)) { 392 WLAN_CONFIG_DISCONNECT_TIMEOUT)) {
393 ath6kl_err("unable to set disconnect timeout\n"); 393 ath6kl_err("unable to set disconnect timeout\n");
394 status = -EIO; 394 status = -EIO;
395 } 395 }
396 396
397 if (!(ar->conf_flags & ATH6KL_CONF_ENABLE_TX_BURST)) 397 if (!(ar->conf_flags & ATH6KL_CONF_ENABLE_TX_BURST))
398 if (ath6kl_wmi_set_wmm_txop(ar->wmi, WMI_TXOP_DISABLED)) { 398 if (ath6kl_wmi_set_wmm_txop(ar->wmi, idx, WMI_TXOP_DISABLED)) {
399 ath6kl_err("unable to set txop bursting\n"); 399 ath6kl_err("unable to set txop bursting\n");
400 status = -EIO; 400 status = -EIO;
401 } 401 }
402 402
403 /*
404 * FIXME: Make sure p2p configurations are not applied to
405 * non-p2p capable interfaces when multivif support is enabled.
406 */
403 if (ar->p2p) { 407 if (ar->p2p) {
404 ret = ath6kl_wmi_info_req_cmd(ar->wmi, 408 ret = ath6kl_wmi_info_req_cmd(ar->wmi, idx,
405 P2P_FLAG_CAPABILITIES_REQ | 409 P2P_FLAG_CAPABILITIES_REQ |
406 P2P_FLAG_MACADDR_REQ | 410 P2P_FLAG_MACADDR_REQ |
407 P2P_FLAG_HMODEL_REQ); 411 P2P_FLAG_HMODEL_REQ);
@@ -413,9 +417,13 @@ static int ath6kl_target_config_wlan_params(struct ath6kl *ar)
413 } 417 }
414 } 418 }
415 419
420 /*
421 * FIXME: Make sure p2p configurations are not applied to
422 * non-p2p capable interfaces when multivif support is enabled.
423 */
416 if (ar->p2p) { 424 if (ar->p2p) {
417 /* Enable Probe Request reporting for P2P */ 425 /* Enable Probe Request reporting for P2P */
418 ret = ath6kl_wmi_probe_report_req_cmd(ar->wmi, true); 426 ret = ath6kl_wmi_probe_report_req_cmd(ar->wmi, idx, true);
419 if (ret) { 427 if (ret) {
420 ath6kl_dbg(ATH6KL_DBG_TRC, "failed to enable Probe " 428 ath6kl_dbg(ATH6KL_DBG_TRC, "failed to enable Probe "
421 "Request reporting (%d)\n", ret); 429 "Request reporting (%d)\n", ret);
@@ -1543,9 +1551,11 @@ static int ath6kl_init(struct ath6kl *ar)
1543 ar->wiphy->flags |= WIPHY_FLAG_SUPPORTS_FW_ROAM | 1551 ar->wiphy->flags |= WIPHY_FLAG_SUPPORTS_FW_ROAM |
1544 WIPHY_FLAG_HAVE_AP_SME; 1552 WIPHY_FLAG_HAVE_AP_SME;
1545 1553
1546 status = ath6kl_target_config_wlan_params(ar); 1554 for (i = 0; i < MAX_NUM_VIF; i++) {
1547 if (status) 1555 status = ath6kl_target_config_wlan_params(ar, i);
1548 goto err_htc_stop; 1556 if (status)
1557 goto err_htc_stop;
1558 }
1549 1559
1550 /* 1560 /*
1551 * Set mac address which is received in ready event 1561 * Set mac address which is received in ready event
diff --git a/drivers/net/wireless/ath/ath6kl/wmi.c b/drivers/net/wireless/ath/ath6kl/wmi.c
index 1fada318636f..e6b0960ef430 100644
--- a/drivers/net/wireless/ath/ath6kl/wmi.c
+++ b/drivers/net/wireless/ath/ath6kl/wmi.c
@@ -1940,7 +1940,7 @@ int ath6kl_wmi_powermode_cmd(struct wmi *wmi, u8 if_idx, u8 pwr_mode)
1940 return ret; 1940 return ret;
1941} 1941}
1942 1942
1943int ath6kl_wmi_pmparams_cmd(struct wmi *wmi, u16 idle_period, 1943int ath6kl_wmi_pmparams_cmd(struct wmi *wmi, u8 if_idx, u16 idle_period,
1944 u16 ps_poll_num, u16 dtim_policy, 1944 u16 ps_poll_num, u16 dtim_policy,
1945 u16 tx_wakeup_policy, u16 num_tx_to_wakeup, 1945 u16 tx_wakeup_policy, u16 num_tx_to_wakeup,
1946 u16 ps_fail_event_policy) 1946 u16 ps_fail_event_policy)
@@ -1961,12 +1961,12 @@ int ath6kl_wmi_pmparams_cmd(struct wmi *wmi, u16 idle_period,
1961 pm->num_tx_to_wakeup = cpu_to_le16(num_tx_to_wakeup); 1961 pm->num_tx_to_wakeup = cpu_to_le16(num_tx_to_wakeup);
1962 pm->ps_fail_event_policy = cpu_to_le16(ps_fail_event_policy); 1962 pm->ps_fail_event_policy = cpu_to_le16(ps_fail_event_policy);
1963 1963
1964 ret = ath6kl_wmi_cmd_send(wmi, 0, skb, WMI_SET_POWER_PARAMS_CMDID, 1964 ret = ath6kl_wmi_cmd_send(wmi, if_idx, skb, WMI_SET_POWER_PARAMS_CMDID,
1965 NO_SYNC_WMIFLAG); 1965 NO_SYNC_WMIFLAG);
1966 return ret; 1966 return ret;
1967} 1967}
1968 1968
1969int ath6kl_wmi_disctimeout_cmd(struct wmi *wmi, u8 timeout) 1969int ath6kl_wmi_disctimeout_cmd(struct wmi *wmi, u8 if_idx, u8 timeout)
1970{ 1970{
1971 struct sk_buff *skb; 1971 struct sk_buff *skb;
1972 struct wmi_disc_timeout_cmd *cmd; 1972 struct wmi_disc_timeout_cmd *cmd;
@@ -1979,7 +1979,7 @@ int ath6kl_wmi_disctimeout_cmd(struct wmi *wmi, u8 timeout)
1979 cmd = (struct wmi_disc_timeout_cmd *) skb->data; 1979 cmd = (struct wmi_disc_timeout_cmd *) skb->data;
1980 cmd->discon_timeout = timeout; 1980 cmd->discon_timeout = timeout;
1981 1981
1982 ret = ath6kl_wmi_cmd_send(wmi, 0, skb, WMI_SET_DISC_TIMEOUT_CMDID, 1982 ret = ath6kl_wmi_cmd_send(wmi, if_idx, skb, WMI_SET_DISC_TIMEOUT_CMDID,
1983 NO_SYNC_WMIFLAG); 1983 NO_SYNC_WMIFLAG);
1984 1984
1985 if (ret == 0) 1985 if (ret == 0)
@@ -2500,7 +2500,8 @@ int ath6kl_wmi_get_roam_tbl_cmd(struct wmi *wmi)
2500 return ath6kl_wmi_simple_cmd(wmi, 0, WMI_GET_ROAM_TBL_CMDID); 2500 return ath6kl_wmi_simple_cmd(wmi, 0, WMI_GET_ROAM_TBL_CMDID);
2501} 2501}
2502 2502
2503int ath6kl_wmi_set_lpreamble_cmd(struct wmi *wmi, u8 status, u8 preamble_policy) 2503int ath6kl_wmi_set_lpreamble_cmd(struct wmi *wmi, u8 if_idx, u8 status,
2504 u8 preamble_policy)
2504{ 2505{
2505 struct sk_buff *skb; 2506 struct sk_buff *skb;
2506 struct wmi_set_lpreamble_cmd *cmd; 2507 struct wmi_set_lpreamble_cmd *cmd;
@@ -2514,7 +2515,7 @@ int ath6kl_wmi_set_lpreamble_cmd(struct wmi *wmi, u8 status, u8 preamble_policy)
2514 cmd->status = status; 2515 cmd->status = status;
2515 cmd->preamble_policy = preamble_policy; 2516 cmd->preamble_policy = preamble_policy;
2516 2517
2517 ret = ath6kl_wmi_cmd_send(wmi, 0, skb, WMI_SET_LPREAMBLE_CMDID, 2518 ret = ath6kl_wmi_cmd_send(wmi, if_idx, skb, WMI_SET_LPREAMBLE_CMDID,
2518 NO_SYNC_WMIFLAG); 2519 NO_SYNC_WMIFLAG);
2519 return ret; 2520 return ret;
2520} 2521}
@@ -2537,7 +2538,7 @@ int ath6kl_wmi_set_rts_cmd(struct wmi *wmi, u16 threshold)
2537 return ret; 2538 return ret;
2538} 2539}
2539 2540
2540int ath6kl_wmi_set_wmm_txop(struct wmi *wmi, enum wmi_txop_cfg cfg) 2541int ath6kl_wmi_set_wmm_txop(struct wmi *wmi, u8 if_idx, enum wmi_txop_cfg cfg)
2541{ 2542{
2542 struct sk_buff *skb; 2543 struct sk_buff *skb;
2543 struct wmi_set_wmm_txop_cmd *cmd; 2544 struct wmi_set_wmm_txop_cmd *cmd;
@@ -2553,12 +2554,13 @@ int ath6kl_wmi_set_wmm_txop(struct wmi *wmi, enum wmi_txop_cfg cfg)
2553 cmd = (struct wmi_set_wmm_txop_cmd *) skb->data; 2554 cmd = (struct wmi_set_wmm_txop_cmd *) skb->data;
2554 cmd->txop_enable = cfg; 2555 cmd->txop_enable = cfg;
2555 2556
2556 ret = ath6kl_wmi_cmd_send(wmi, 0, skb, WMI_SET_WMM_TXOP_CMDID, 2557 ret = ath6kl_wmi_cmd_send(wmi, if_idx, skb, WMI_SET_WMM_TXOP_CMDID,
2557 NO_SYNC_WMIFLAG); 2558 NO_SYNC_WMIFLAG);
2558 return ret; 2559 return ret;
2559} 2560}
2560 2561
2561int ath6kl_wmi_set_keepalive_cmd(struct wmi *wmi, u8 keep_alive_intvl) 2562int ath6kl_wmi_set_keepalive_cmd(struct wmi *wmi, u8 if_idx,
2563 u8 keep_alive_intvl)
2562{ 2564{
2563 struct sk_buff *skb; 2565 struct sk_buff *skb;
2564 struct wmi_set_keepalive_cmd *cmd; 2566 struct wmi_set_keepalive_cmd *cmd;
@@ -2571,7 +2573,7 @@ int ath6kl_wmi_set_keepalive_cmd(struct wmi *wmi, u8 keep_alive_intvl)
2571 cmd = (struct wmi_set_keepalive_cmd *) skb->data; 2573 cmd = (struct wmi_set_keepalive_cmd *) skb->data;
2572 cmd->keep_alive_intvl = keep_alive_intvl; 2574 cmd->keep_alive_intvl = keep_alive_intvl;
2573 2575
2574 ret = ath6kl_wmi_cmd_send(wmi, 0, skb, WMI_SET_KEEPALIVE_CMDID, 2576 ret = ath6kl_wmi_cmd_send(wmi, if_idx, skb, WMI_SET_KEEPALIVE_CMDID,
2575 NO_SYNC_WMIFLAG); 2577 NO_SYNC_WMIFLAG);
2576 2578
2577 if (ret == 0) 2579 if (ret == 0)
@@ -2734,7 +2736,8 @@ int ath6kl_wmi_set_pvb_cmd(struct wmi *wmi, u8 if_idx, u16 aid,
2734 return 0; 2736 return 0;
2735} 2737}
2736 2738
2737int ath6kl_wmi_set_rx_frame_format_cmd(struct wmi *wmi, u8 rx_meta_ver, 2739int ath6kl_wmi_set_rx_frame_format_cmd(struct wmi *wmi, u8 if_idx,
2740 u8 rx_meta_ver,
2738 bool rx_dot11_hdr, bool defrag_on_host) 2741 bool rx_dot11_hdr, bool defrag_on_host)
2739{ 2742{
2740 struct sk_buff *skb; 2743 struct sk_buff *skb;
@@ -2751,7 +2754,7 @@ int ath6kl_wmi_set_rx_frame_format_cmd(struct wmi *wmi, u8 rx_meta_ver,
2751 cmd->meta_ver = rx_meta_ver; 2754 cmd->meta_ver = rx_meta_ver;
2752 2755
2753 /* Delete the local aggr state, on host */ 2756 /* Delete the local aggr state, on host */
2754 ret = ath6kl_wmi_cmd_send(wmi, 0, skb, WMI_RX_FRAME_FORMAT_CMDID, 2757 ret = ath6kl_wmi_cmd_send(wmi, if_idx, skb, WMI_RX_FRAME_FORMAT_CMDID,
2755 NO_SYNC_WMIFLAG); 2758 NO_SYNC_WMIFLAG);
2756 2759
2757 return ret; 2760 return ret;
@@ -2872,7 +2875,7 @@ int ath6kl_wmi_send_probe_response_cmd(struct wmi *wmi, u8 if_idx, u32 freq,
2872 NO_SYNC_WMIFLAG); 2875 NO_SYNC_WMIFLAG);
2873} 2876}
2874 2877
2875int ath6kl_wmi_probe_report_req_cmd(struct wmi *wmi, bool enable) 2878int ath6kl_wmi_probe_report_req_cmd(struct wmi *wmi, u8 if_idx, bool enable)
2876{ 2879{
2877 struct sk_buff *skb; 2880 struct sk_buff *skb;
2878 struct wmi_probe_req_report_cmd *p; 2881 struct wmi_probe_req_report_cmd *p;
@@ -2885,11 +2888,11 @@ int ath6kl_wmi_probe_report_req_cmd(struct wmi *wmi, bool enable)
2885 enable); 2888 enable);
2886 p = (struct wmi_probe_req_report_cmd *) skb->data; 2889 p = (struct wmi_probe_req_report_cmd *) skb->data;
2887 p->enable = enable ? 1 : 0; 2890 p->enable = enable ? 1 : 0;
2888 return ath6kl_wmi_cmd_send(wmi, 0, skb, WMI_PROBE_REQ_REPORT_CMDID, 2891 return ath6kl_wmi_cmd_send(wmi, if_idx, skb, WMI_PROBE_REQ_REPORT_CMDID,
2889 NO_SYNC_WMIFLAG); 2892 NO_SYNC_WMIFLAG);
2890} 2893}
2891 2894
2892int ath6kl_wmi_info_req_cmd(struct wmi *wmi, u32 info_req_flags) 2895int ath6kl_wmi_info_req_cmd(struct wmi *wmi, u8 if_idx, u32 info_req_flags)
2893{ 2896{
2894 struct sk_buff *skb; 2897 struct sk_buff *skb;
2895 struct wmi_get_p2p_info *p; 2898 struct wmi_get_p2p_info *p;
@@ -2902,7 +2905,7 @@ int ath6kl_wmi_info_req_cmd(struct wmi *wmi, u32 info_req_flags)
2902 info_req_flags); 2905 info_req_flags);
2903 p = (struct wmi_get_p2p_info *) skb->data; 2906 p = (struct wmi_get_p2p_info *) skb->data;
2904 p->info_req_flags = cpu_to_le32(info_req_flags); 2907 p->info_req_flags = cpu_to_le32(info_req_flags);
2905 return ath6kl_wmi_cmd_send(wmi, 0, skb, WMI_GET_P2P_INFO_CMDID, 2908 return ath6kl_wmi_cmd_send(wmi, if_idx, skb, WMI_GET_P2P_INFO_CMDID,
2906 NO_SYNC_WMIFLAG); 2909 NO_SYNC_WMIFLAG);
2907} 2910}
2908 2911
diff --git a/drivers/net/wireless/ath/ath6kl/wmi.h b/drivers/net/wireless/ath/ath6kl/wmi.h
index e2f3304e3610..495d2e52ed85 100644
--- a/drivers/net/wireless/ath/ath6kl/wmi.h
+++ b/drivers/net/wireless/ath/ath6kl/wmi.h
@@ -2230,18 +2230,18 @@ int ath6kl_wmi_listeninterval_cmd(struct wmi *wmi, u8 if_idx,
2230 u16 listen_interval, 2230 u16 listen_interval,
2231 u16 listen_beacons); 2231 u16 listen_beacons);
2232int ath6kl_wmi_powermode_cmd(struct wmi *wmi, u8 if_idx, u8 pwr_mode); 2232int ath6kl_wmi_powermode_cmd(struct wmi *wmi, u8 if_idx, u8 pwr_mode);
2233int ath6kl_wmi_pmparams_cmd(struct wmi *wmi, u16 idle_period, 2233int ath6kl_wmi_pmparams_cmd(struct wmi *wmi, u8 if_idx, u16 idle_period,
2234 u16 ps_poll_num, u16 dtim_policy, 2234 u16 ps_poll_num, u16 dtim_policy,
2235 u16 tx_wakup_policy, u16 num_tx_to_wakeup, 2235 u16 tx_wakup_policy, u16 num_tx_to_wakeup,
2236 u16 ps_fail_event_policy); 2236 u16 ps_fail_event_policy);
2237int ath6kl_wmi_disctimeout_cmd(struct wmi *wmi, u8 timeout);
2238int ath6kl_wmi_create_pstream_cmd(struct wmi *wmi, u8 if_idx, 2237int ath6kl_wmi_create_pstream_cmd(struct wmi *wmi, u8 if_idx,
2239 struct wmi_create_pstream_cmd *pstream); 2238 struct wmi_create_pstream_cmd *pstream);
2240int ath6kl_wmi_delete_pstream_cmd(struct wmi *wmi, u8 if_idx, u8 traffic_class, 2239int ath6kl_wmi_delete_pstream_cmd(struct wmi *wmi, u8 if_idx, u8 traffic_class,
2241 u8 tsid); 2240 u8 tsid);
2241int ath6kl_wmi_disctimeout_cmd(struct wmi *wmi, u8 if_idx, u8 timeout);
2242 2242
2243int ath6kl_wmi_set_rts_cmd(struct wmi *wmi, u16 threshold); 2243int ath6kl_wmi_set_rts_cmd(struct wmi *wmi, u16 threshold);
2244int ath6kl_wmi_set_lpreamble_cmd(struct wmi *wmi, u8 status, 2244int ath6kl_wmi_set_lpreamble_cmd(struct wmi *wmi, u8 if_idx, u8 status,
2245 u8 preamble_policy); 2245 u8 preamble_policy);
2246 2246
2247int ath6kl_wmi_get_challenge_resp_cmd(struct wmi *wmi, u32 cookie, u32 source); 2247int ath6kl_wmi_get_challenge_resp_cmd(struct wmi *wmi, u32 cookie, u32 source);
@@ -2262,8 +2262,9 @@ int ath6kl_wmi_set_tx_pwr_cmd(struct wmi *wmi, u8 if_idx, u8 dbM);
2262int ath6kl_wmi_get_tx_pwr_cmd(struct wmi *wmi, u8 if_idx); 2262int ath6kl_wmi_get_tx_pwr_cmd(struct wmi *wmi, u8 if_idx);
2263int ath6kl_wmi_get_roam_tbl_cmd(struct wmi *wmi); 2263int ath6kl_wmi_get_roam_tbl_cmd(struct wmi *wmi);
2264 2264
2265int ath6kl_wmi_set_wmm_txop(struct wmi *wmi, enum wmi_txop_cfg cfg); 2265int ath6kl_wmi_set_wmm_txop(struct wmi *wmi, u8 if_idx, enum wmi_txop_cfg cfg);
2266int ath6kl_wmi_set_keepalive_cmd(struct wmi *wmi, u8 keep_alive_intvl); 2266int ath6kl_wmi_set_keepalive_cmd(struct wmi *wmi, u8 if_idx,
2267 u8 keep_alive_intvl);
2267int ath6kl_wmi_test_cmd(struct wmi *wmi, void *buf, size_t len); 2268int ath6kl_wmi_test_cmd(struct wmi *wmi, void *buf, size_t len);
2268 2269
2269s32 ath6kl_wmi_get_rate(s8 rate_index); 2270s32 ath6kl_wmi_get_rate(s8 rate_index);
@@ -2282,7 +2283,8 @@ int ath6kl_wmi_ap_set_mlme(struct wmi *wmip, u8 if_idx, u8 cmd,
2282 2283
2283int ath6kl_wmi_set_pvb_cmd(struct wmi *wmi, u8 if_idx, u16 aid, bool flag); 2284int ath6kl_wmi_set_pvb_cmd(struct wmi *wmi, u8 if_idx, u16 aid, bool flag);
2284 2285
2285int ath6kl_wmi_set_rx_frame_format_cmd(struct wmi *wmi, u8 rx_meta_version, 2286int ath6kl_wmi_set_rx_frame_format_cmd(struct wmi *wmi, u8 if_idx,
2287 u8 rx_meta_version,
2286 bool rx_dot11_hdr, bool defrag_on_host); 2288 bool rx_dot11_hdr, bool defrag_on_host);
2287 2289
2288int ath6kl_wmi_set_appie_cmd(struct wmi *wmi, u8 if_idx, u8 mgmt_frm_type, 2290int ath6kl_wmi_set_appie_cmd(struct wmi *wmi, u8 if_idx, u8 mgmt_frm_type,
@@ -2301,9 +2303,9 @@ int ath6kl_wmi_send_probe_response_cmd(struct wmi *wmi, u8 if_idx, u32 freq,
2301 const u8 *dst, const u8 *data, 2303 const u8 *dst, const u8 *data,
2302 u16 data_len); 2304 u16 data_len);
2303 2305
2304int ath6kl_wmi_probe_report_req_cmd(struct wmi *wmi, bool enable); 2306int ath6kl_wmi_probe_report_req_cmd(struct wmi *wmi, u8 if_idx, bool enable);
2305 2307
2306int ath6kl_wmi_info_req_cmd(struct wmi *wmi, u32 info_req_flags); 2308int ath6kl_wmi_info_req_cmd(struct wmi *wmi, u8 if_idx, u32 info_req_flags);
2307 2309
2308int ath6kl_wmi_cancel_remain_on_chnl_cmd(struct wmi *wmi, u8 if_idx); 2310int ath6kl_wmi_cancel_remain_on_chnl_cmd(struct wmi *wmi, u8 if_idx);
2309 2311