diff options
Diffstat (limited to 'drivers/net/wireless/ath/ath6kl/wmi.h')
-rw-r--r-- | drivers/net/wireless/ath/ath6kl/wmi.h | 350 |
1 files changed, 307 insertions, 43 deletions
diff --git a/drivers/net/wireless/ath/ath6kl/wmi.h b/drivers/net/wireless/ath/ath6kl/wmi.h index fe3ddce64087..f8e644d54aa7 100644 --- a/drivers/net/wireless/ath/ath6kl/wmi.h +++ b/drivers/net/wireless/ath/ath6kl/wmi.h | |||
@@ -129,6 +129,9 @@ struct wmi { | |||
129 | u8 ht_allowed[A_NUM_BANDS]; | 129 | u8 ht_allowed[A_NUM_BANDS]; |
130 | u8 traffic_class; | 130 | u8 traffic_class; |
131 | bool is_probe_ssid; | 131 | bool is_probe_ssid; |
132 | |||
133 | u8 *last_mgmt_tx_frame; | ||
134 | size_t last_mgmt_tx_frame_len; | ||
132 | }; | 135 | }; |
133 | 136 | ||
134 | struct host_app_area { | 137 | struct host_app_area { |
@@ -490,17 +493,61 @@ enum wmi_cmd_id { | |||
490 | WMI_SET_PASSPHRASE_CMDID, | 493 | WMI_SET_PASSPHRASE_CMDID, |
491 | WMI_SEND_ASSOC_RES_CMDID, | 494 | WMI_SEND_ASSOC_RES_CMDID, |
492 | WMI_SET_ASSOC_REQ_RELAY_CMDID, | 495 | WMI_SET_ASSOC_REQ_RELAY_CMDID, |
493 | WMI_GET_RFKILL_MODE_CMDID, | ||
494 | 496 | ||
495 | /* ACS command, consists of sub-commands */ | 497 | /* ACS command, consists of sub-commands */ |
496 | WMI_ACS_CTRL_CMDID, | 498 | WMI_ACS_CTRL_CMDID, |
499 | WMI_SET_EXCESS_TX_RETRY_THRES_CMDID, | ||
500 | WMI_SET_TBD_TIME_CMDID, /*added for wmiconfig command for TBD */ | ||
501 | |||
502 | /* Pktlog cmds */ | ||
503 | WMI_PKTLOG_ENABLE_CMDID, | ||
504 | WMI_PKTLOG_DISABLE_CMDID, | ||
505 | |||
506 | /* More P2P Cmds */ | ||
507 | WMI_P2P_GO_NEG_REQ_RSP_CMDID, | ||
508 | WMI_P2P_GRP_INIT_CMDID, | ||
509 | WMI_P2P_GRP_FORMATION_DONE_CMDID, | ||
510 | WMI_P2P_INVITE_CMDID, | ||
511 | WMI_P2P_INVITE_REQ_RSP_CMDID, | ||
512 | WMI_P2P_PROV_DISC_REQ_CMDID, | ||
513 | WMI_P2P_SET_CMDID, | ||
514 | |||
515 | WMI_GET_RFKILL_MODE_CMDID, | ||
516 | WMI_SET_RFKILL_MODE_CMDID, | ||
517 | WMI_AP_SET_APSD_CMDID, | ||
518 | WMI_AP_APSD_BUFFERED_TRAFFIC_CMDID, | ||
497 | 519 | ||
520 | WMI_P2P_SDPD_TX_CMDID, /* F05C */ | ||
521 | WMI_P2P_STOP_SDPD_CMDID, | ||
522 | WMI_P2P_CANCEL_CMDID, | ||
498 | /* Ultra low power store / recall commands */ | 523 | /* Ultra low power store / recall commands */ |
499 | WMI_STORERECALL_CONFIGURE_CMDID, | 524 | WMI_STORERECALL_CONFIGURE_CMDID, |
500 | WMI_STORERECALL_RECALL_CMDID, | 525 | WMI_STORERECALL_RECALL_CMDID, |
501 | WMI_STORERECALL_HOST_READY_CMDID, | 526 | WMI_STORERECALL_HOST_READY_CMDID, |
502 | WMI_FORCE_TARGET_ASSERT_CMDID, | 527 | WMI_FORCE_TARGET_ASSERT_CMDID, |
503 | WMI_SET_EXCESS_TX_RETRY_THRES_CMDID, | 528 | |
529 | WMI_SET_PROBED_SSID_EX_CMDID, | ||
530 | WMI_SET_NETWORK_LIST_OFFLOAD_CMDID, | ||
531 | WMI_SET_ARP_NS_OFFLOAD_CMDID, | ||
532 | WMI_ADD_WOW_EXT_PATTERN_CMDID, | ||
533 | WMI_GTK_OFFLOAD_OP_CMDID, | ||
534 | WMI_REMAIN_ON_CHNL_CMDID, | ||
535 | WMI_CANCEL_REMAIN_ON_CHNL_CMDID, | ||
536 | WMI_SEND_ACTION_CMDID, | ||
537 | WMI_PROBE_REQ_REPORT_CMDID, | ||
538 | WMI_DISABLE_11B_RATES_CMDID, | ||
539 | WMI_SEND_PROBE_RESPONSE_CMDID, | ||
540 | WMI_GET_P2P_INFO_CMDID, | ||
541 | WMI_AP_JOIN_BSS_CMDID, | ||
542 | }; | ||
543 | |||
544 | enum wmi_mgmt_frame_type { | ||
545 | WMI_FRAME_BEACON = 0, | ||
546 | WMI_FRAME_PROBE_REQ, | ||
547 | WMI_FRAME_PROBE_RESP, | ||
548 | WMI_FRAME_ASSOC_REQ, | ||
549 | WMI_FRAME_ASSOC_RESP, | ||
550 | WMI_NUM_MGMT_FRAME | ||
504 | }; | 551 | }; |
505 | 552 | ||
506 | /* WMI_CONNECT_CMDID */ | 553 | /* WMI_CONNECT_CMDID */ |
@@ -519,11 +566,6 @@ enum dot11_auth_mode { | |||
519 | LEAP_AUTH = 0x04, | 566 | LEAP_AUTH = 0x04, |
520 | }; | 567 | }; |
521 | 568 | ||
522 | enum { | ||
523 | AUTH_IDLE, | ||
524 | AUTH_OPEN_IN_PROGRESS, | ||
525 | }; | ||
526 | |||
527 | enum auth_mode { | 569 | enum auth_mode { |
528 | NONE_AUTH = 0x01, | 570 | NONE_AUTH = 0x01, |
529 | WPA_AUTH = 0x02, | 571 | WPA_AUTH = 0x02, |
@@ -1179,15 +1221,26 @@ enum wmi_event_id { | |||
1179 | WMI_WAC_START_WPS_EVENTID, | 1221 | WMI_WAC_START_WPS_EVENTID, |
1180 | WMI_WAC_CTRL_REQ_REPLY_EVENTID, | 1222 | WMI_WAC_CTRL_REQ_REPLY_EVENTID, |
1181 | 1223 | ||
1224 | WMI_REPORT_WMM_PARAMS_EVENTID, | ||
1225 | WMI_WAC_REJECT_WPS_EVENTID, | ||
1226 | |||
1227 | /* More P2P Events */ | ||
1228 | WMI_P2P_GO_NEG_REQ_EVENTID, | ||
1229 | WMI_P2P_INVITE_REQ_EVENTID, | ||
1230 | WMI_P2P_INVITE_RCVD_RESULT_EVENTID, | ||
1231 | WMI_P2P_INVITE_SENT_RESULT_EVENTID, | ||
1232 | WMI_P2P_PROV_DISC_RESP_EVENTID, | ||
1233 | WMI_P2P_PROV_DISC_REQ_EVENTID, | ||
1234 | |||
1182 | /* RFKILL Events */ | 1235 | /* RFKILL Events */ |
1183 | WMI_RFKILL_STATE_CHANGE_EVENTID, | 1236 | WMI_RFKILL_STATE_CHANGE_EVENTID, |
1184 | WMI_RFKILL_GET_MODE_CMD_EVENTID, | 1237 | WMI_RFKILL_GET_MODE_CMD_EVENTID, |
1185 | WMI_THIN_RESERVED_START_EVENTID = 0x8000, | ||
1186 | 1238 | ||
1187 | /* | 1239 | WMI_P2P_START_SDPD_EVENTID, |
1188 | * Events in this range are reserved for thinmode | 1240 | WMI_P2P_SDPD_RX_EVENTID, |
1189 | * See wmi_thin.h for actual definitions | 1241 | |
1190 | */ | 1242 | WMI_THIN_RESERVED_START_EVENTID = 0x8000, |
1243 | /* Events in this range are reserved for thinmode */ | ||
1191 | WMI_THIN_RESERVED_END_EVENTID = 0x8fff, | 1244 | WMI_THIN_RESERVED_END_EVENTID = 0x8fff, |
1192 | 1245 | ||
1193 | WMI_SET_CHANNEL_EVENTID, | 1246 | WMI_SET_CHANNEL_EVENTID, |
@@ -1195,7 +1248,17 @@ enum wmi_event_id { | |||
1195 | 1248 | ||
1196 | /* Generic ACS event */ | 1249 | /* Generic ACS event */ |
1197 | WMI_ACS_EVENTID, | 1250 | WMI_ACS_EVENTID, |
1198 | WMI_REPORT_WMM_PARAMS_EVENTID | 1251 | WMI_STORERECALL_STORE_EVENTID, |
1252 | WMI_WOW_EXT_WAKE_EVENTID, | ||
1253 | WMI_GTK_OFFLOAD_STATUS_EVENTID, | ||
1254 | WMI_NETWORK_LIST_OFFLOAD_EVENTID, | ||
1255 | WMI_REMAIN_ON_CHNL_EVENTID, | ||
1256 | WMI_CANCEL_REMAIN_ON_CHNL_EVENTID, | ||
1257 | WMI_TX_STATUS_EVENTID, | ||
1258 | WMI_RX_PROBE_REQ_EVENTID, | ||
1259 | WMI_P2P_CAPABILITIES_EVENTID, | ||
1260 | WMI_RX_ACTION_EVENTID, | ||
1261 | WMI_P2P_INFO_EVENTID, | ||
1199 | }; | 1262 | }; |
1200 | 1263 | ||
1201 | struct wmi_ready_event_2 { | 1264 | struct wmi_ready_event_2 { |
@@ -1207,11 +1270,30 @@ struct wmi_ready_event_2 { | |||
1207 | 1270 | ||
1208 | /* Connect Event */ | 1271 | /* Connect Event */ |
1209 | struct wmi_connect_event { | 1272 | struct wmi_connect_event { |
1210 | __le16 ch; | 1273 | union { |
1211 | u8 bssid[ETH_ALEN]; | 1274 | struct { |
1212 | __le16 listen_intvl; | 1275 | __le16 ch; |
1213 | __le16 beacon_intvl; | 1276 | u8 bssid[ETH_ALEN]; |
1214 | __le32 nw_type; | 1277 | __le16 listen_intvl; |
1278 | __le16 beacon_intvl; | ||
1279 | __le32 nw_type; | ||
1280 | } sta; | ||
1281 | struct { | ||
1282 | u8 phymode; | ||
1283 | u8 aid; | ||
1284 | u8 mac_addr[ETH_ALEN]; | ||
1285 | u8 auth; | ||
1286 | u8 keymgmt; | ||
1287 | __le16 cipher; | ||
1288 | u8 apsd_info; | ||
1289 | u8 unused[3]; | ||
1290 | } ap_sta; | ||
1291 | struct { | ||
1292 | __le16 ch; | ||
1293 | u8 bssid[ETH_ALEN]; | ||
1294 | u8 unused[8]; | ||
1295 | } ap_bss; | ||
1296 | } u; | ||
1215 | u8 beacon_ie_len; | 1297 | u8 beacon_ie_len; |
1216 | u8 assoc_req_len; | 1298 | u8 assoc_req_len; |
1217 | u8 assoc_resp_len; | 1299 | u8 assoc_resp_len; |
@@ -1238,6 +1320,12 @@ enum wmi_disconnect_reason { | |||
1238 | IBSS_MERGE = 0xe, | 1320 | IBSS_MERGE = 0xe, |
1239 | }; | 1321 | }; |
1240 | 1322 | ||
1323 | #define ATH6KL_COUNTRY_RD_SHIFT 16 | ||
1324 | |||
1325 | struct ath6kl_wmi_regdomain { | ||
1326 | __le32 reg_code; | ||
1327 | }; | ||
1328 | |||
1241 | struct wmi_disconnect_event { | 1329 | struct wmi_disconnect_event { |
1242 | /* reason code, see 802.11 spec. */ | 1330 | /* reason code, see 802.11 spec. */ |
1243 | __le16 proto_reason_status; | 1331 | __le16 proto_reason_status; |
@@ -1265,33 +1353,54 @@ enum wmi_bi_ftype { | |||
1265 | PROBEREQ_FTYPE, | 1353 | PROBEREQ_FTYPE, |
1266 | }; | 1354 | }; |
1267 | 1355 | ||
1268 | struct wmi_bss_info_hdr { | 1356 | #define DEF_LRSSI_SCAN_PERIOD 5 |
1269 | __le16 ch; | 1357 | #define DEF_LRSSI_ROAM_THRESHOLD 20 |
1358 | #define DEF_LRSSI_ROAM_FLOOR 60 | ||
1359 | #define DEF_SCAN_FOR_ROAM_INTVL 2 | ||
1270 | 1360 | ||
1271 | /* see, enum wmi_bi_ftype */ | 1361 | enum wmi_roam_ctrl { |
1272 | u8 frame_type; | 1362 | WMI_FORCE_ROAM = 1, |
1363 | WMI_SET_ROAM_MODE, | ||
1364 | WMI_SET_HOST_BIAS, | ||
1365 | WMI_SET_LRSSI_SCAN_PARAMS, | ||
1366 | }; | ||
1273 | 1367 | ||
1274 | u8 snr; | 1368 | struct bss_bias { |
1275 | a_sle16 rssi; | ||
1276 | u8 bssid[ETH_ALEN]; | 1369 | u8 bssid[ETH_ALEN]; |
1277 | __le32 ie_mask; | 1370 | u8 bias; |
1278 | } __packed; | 1371 | } __packed; |
1279 | 1372 | ||
1280 | /* | 1373 | struct bss_bias_info { |
1281 | * BSS INFO HDR version 2.0 | 1374 | u8 num_bss; |
1282 | * With 6 bytes HTC header and 6 bytes of WMI header | 1375 | struct bss_bias bss_bias[1]; |
1283 | * WMI_BSS_INFO_HDR cannot be accommodated in the removed 802.11 management | 1376 | } __packed; |
1284 | * header space. | 1377 | |
1285 | * - Reduce the ie_mask to 2 bytes as only two bit flags are used | 1378 | struct low_rssi_scan_params { |
1286 | * - Remove rssi and compute it on the host. rssi = snr - 95 | 1379 | __le16 lrssi_scan_period; |
1287 | */ | 1380 | a_sle16 lrssi_scan_threshold; |
1381 | a_sle16 lrssi_roam_threshold; | ||
1382 | u8 roam_rssi_floor; | ||
1383 | u8 reserved[1]; | ||
1384 | } __packed; | ||
1385 | |||
1386 | struct roam_ctrl_cmd { | ||
1387 | union { | ||
1388 | u8 bssid[ETH_ALEN]; | ||
1389 | u8 roam_mode; | ||
1390 | struct bss_bias_info bss; | ||
1391 | struct low_rssi_scan_params params; | ||
1392 | } __packed info; | ||
1393 | u8 roam_ctrl; | ||
1394 | } __packed; | ||
1395 | |||
1396 | /* BSS INFO HDR version 2.0 */ | ||
1288 | struct wmi_bss_info_hdr2 { | 1397 | struct wmi_bss_info_hdr2 { |
1289 | __le16 ch; | 1398 | __le16 ch; /* frequency in MHz */ |
1290 | 1399 | ||
1291 | /* see, enum wmi_bi_ftype */ | 1400 | /* see, enum wmi_bi_ftype */ |
1292 | u8 frame_type; | 1401 | u8 frame_type; |
1293 | 1402 | ||
1294 | u8 snr; | 1403 | u8 snr; /* note: rssi = snr - 95 dBm */ |
1295 | u8 bssid[ETH_ALEN]; | 1404 | u8 bssid[ETH_ALEN]; |
1296 | __le16 ie_mask; | 1405 | __le16 ie_mask; |
1297 | } __packed; | 1406 | } __packed; |
@@ -1330,6 +1439,16 @@ enum wmi_bss_flags { | |||
1330 | WMI_PMKID_VALID_BSS = 0x02, | 1439 | WMI_PMKID_VALID_BSS = 0x02, |
1331 | }; | 1440 | }; |
1332 | 1441 | ||
1442 | struct wmi_neighbor_info { | ||
1443 | u8 bssid[ETH_ALEN]; | ||
1444 | u8 bss_flags; /* enum wmi_bss_flags */ | ||
1445 | } __packed; | ||
1446 | |||
1447 | struct wmi_neighbor_report_event { | ||
1448 | u8 num_neighbors; | ||
1449 | struct wmi_neighbor_info neighbor[0]; | ||
1450 | } __packed; | ||
1451 | |||
1333 | /* TKIP MIC Error Event */ | 1452 | /* TKIP MIC Error Event */ |
1334 | struct wmi_tkip_micerr_event { | 1453 | struct wmi_tkip_micerr_event { |
1335 | u8 key_id; | 1454 | u8 key_id; |
@@ -1642,6 +1761,12 @@ struct wmi_get_keepalive_cmd { | |||
1642 | u8 keep_alive_intvl; | 1761 | u8 keep_alive_intvl; |
1643 | } __packed; | 1762 | } __packed; |
1644 | 1763 | ||
1764 | struct wmi_set_appie_cmd { | ||
1765 | u8 mgmt_frm_type; /* enum wmi_mgmt_frame_type */ | ||
1766 | u8 ie_len; | ||
1767 | u8 ie_info[0]; | ||
1768 | } __packed; | ||
1769 | |||
1645 | /* Notify the WSC registration status to the target */ | 1770 | /* Notify the WSC registration status to the target */ |
1646 | #define WSC_REG_ACTIVE 1 | 1771 | #define WSC_REG_ACTIVE 1 |
1647 | #define WSC_REG_INACTIVE 0 | 1772 | #define WSC_REG_INACTIVE 0 |
@@ -1789,8 +1914,26 @@ struct wmi_tx_complete_event { | |||
1789 | 1914 | ||
1790 | /* Used with WMI_AP_SET_NUM_STA_CMDID */ | 1915 | /* Used with WMI_AP_SET_NUM_STA_CMDID */ |
1791 | 1916 | ||
1917 | /* | ||
1918 | * Used with WMI_AP_SET_MLME_CMDID | ||
1919 | */ | ||
1920 | |||
1921 | /* MLME Commands */ | ||
1922 | #define WMI_AP_MLME_ASSOC 1 /* associate station */ | ||
1923 | #define WMI_AP_DISASSOC 2 /* disassociate station */ | ||
1924 | #define WMI_AP_DEAUTH 3 /* deauthenticate station */ | ||
1925 | #define WMI_AP_MLME_AUTHORIZE 4 /* authorize station */ | ||
1926 | #define WMI_AP_MLME_UNAUTHORIZE 5 /* unauthorize station */ | ||
1927 | |||
1928 | struct wmi_ap_set_mlme_cmd { | ||
1929 | u8 mac[ETH_ALEN]; | ||
1930 | __le16 reason; /* 802.11 reason code */ | ||
1931 | u8 cmd; /* operation to perform (WMI_AP_*) */ | ||
1932 | } __packed; | ||
1933 | |||
1792 | struct wmi_ap_set_pvb_cmd { | 1934 | struct wmi_ap_set_pvb_cmd { |
1793 | __le32 flag; | 1935 | __le32 flag; |
1936 | __le16 rsvd; | ||
1794 | __le16 aid; | 1937 | __le16 aid; |
1795 | } __packed; | 1938 | } __packed; |
1796 | 1939 | ||
@@ -1840,6 +1983,100 @@ struct wmi_ap_mode_stat { | |||
1840 | 1983 | ||
1841 | /* End of AP mode definitions */ | 1984 | /* End of AP mode definitions */ |
1842 | 1985 | ||
1986 | struct wmi_remain_on_chnl_cmd { | ||
1987 | __le32 freq; | ||
1988 | __le32 duration; | ||
1989 | } __packed; | ||
1990 | |||
1991 | struct wmi_send_action_cmd { | ||
1992 | __le32 id; | ||
1993 | __le32 freq; | ||
1994 | __le32 wait; | ||
1995 | __le16 len; | ||
1996 | u8 data[0]; | ||
1997 | } __packed; | ||
1998 | |||
1999 | struct wmi_tx_status_event { | ||
2000 | __le32 id; | ||
2001 | u8 ack_status; | ||
2002 | } __packed; | ||
2003 | |||
2004 | struct wmi_probe_req_report_cmd { | ||
2005 | u8 enable; | ||
2006 | } __packed; | ||
2007 | |||
2008 | struct wmi_disable_11b_rates_cmd { | ||
2009 | u8 disable; | ||
2010 | } __packed; | ||
2011 | |||
2012 | struct wmi_set_appie_extended_cmd { | ||
2013 | u8 role_id; | ||
2014 | u8 mgmt_frm_type; | ||
2015 | u8 ie_len; | ||
2016 | u8 ie_info[0]; | ||
2017 | } __packed; | ||
2018 | |||
2019 | struct wmi_remain_on_chnl_event { | ||
2020 | __le32 freq; | ||
2021 | __le32 duration; | ||
2022 | } __packed; | ||
2023 | |||
2024 | struct wmi_cancel_remain_on_chnl_event { | ||
2025 | __le32 freq; | ||
2026 | __le32 duration; | ||
2027 | u8 status; | ||
2028 | } __packed; | ||
2029 | |||
2030 | struct wmi_rx_action_event { | ||
2031 | __le32 freq; | ||
2032 | __le16 len; | ||
2033 | u8 data[0]; | ||
2034 | } __packed; | ||
2035 | |||
2036 | struct wmi_p2p_capabilities_event { | ||
2037 | __le16 len; | ||
2038 | u8 data[0]; | ||
2039 | } __packed; | ||
2040 | |||
2041 | struct wmi_p2p_rx_probe_req_event { | ||
2042 | __le32 freq; | ||
2043 | __le16 len; | ||
2044 | u8 data[0]; | ||
2045 | } __packed; | ||
2046 | |||
2047 | #define P2P_FLAG_CAPABILITIES_REQ (0x00000001) | ||
2048 | #define P2P_FLAG_MACADDR_REQ (0x00000002) | ||
2049 | #define P2P_FLAG_HMODEL_REQ (0x00000002) | ||
2050 | |||
2051 | struct wmi_get_p2p_info { | ||
2052 | __le32 info_req_flags; | ||
2053 | } __packed; | ||
2054 | |||
2055 | struct wmi_p2p_info_event { | ||
2056 | __le32 info_req_flags; | ||
2057 | __le16 len; | ||
2058 | u8 data[0]; | ||
2059 | } __packed; | ||
2060 | |||
2061 | struct wmi_p2p_capabilities { | ||
2062 | u8 go_power_save; | ||
2063 | } __packed; | ||
2064 | |||
2065 | struct wmi_p2p_macaddr { | ||
2066 | u8 mac_addr[ETH_ALEN]; | ||
2067 | } __packed; | ||
2068 | |||
2069 | struct wmi_p2p_hmodel { | ||
2070 | u8 p2p_model; | ||
2071 | } __packed; | ||
2072 | |||
2073 | struct wmi_p2p_probe_response_cmd { | ||
2074 | __le32 freq; | ||
2075 | u8 destination_addr[ETH_ALEN]; | ||
2076 | __le16 len; | ||
2077 | u8 data[0]; | ||
2078 | } __packed; | ||
2079 | |||
1843 | /* Extended WMI (WMIX) | 2080 | /* Extended WMI (WMIX) |
1844 | * | 2081 | * |
1845 | * Extended WMIX commands are encapsulated in a WMI message with | 2082 | * Extended WMIX commands are encapsulated in a WMI message with |
@@ -1898,6 +2135,11 @@ struct wmix_hb_challenge_resp_cmd { | |||
1898 | __le32 source; | 2135 | __le32 source; |
1899 | } __packed; | 2136 | } __packed; |
1900 | 2137 | ||
2138 | struct ath6kl_wmix_dbglog_cfg_module_cmd { | ||
2139 | __le32 valid; | ||
2140 | __le32 config; | ||
2141 | } __packed; | ||
2142 | |||
1901 | /* End of Extended WMI (WMIX) */ | 2143 | /* End of Extended WMI (WMIX) */ |
1902 | 2144 | ||
1903 | enum wmi_sync_flag { | 2145 | enum wmi_sync_flag { |
@@ -1925,14 +2167,11 @@ int ath6kl_wmi_data_hdr_add(struct wmi *wmi, struct sk_buff *skb, | |||
1925 | 2167 | ||
1926 | int ath6kl_wmi_dot11_hdr_remove(struct wmi *wmi, struct sk_buff *skb); | 2168 | int ath6kl_wmi_dot11_hdr_remove(struct wmi *wmi, struct sk_buff *skb); |
1927 | int ath6kl_wmi_dot3_2_dix(struct sk_buff *skb); | 2169 | int ath6kl_wmi_dot3_2_dix(struct sk_buff *skb); |
1928 | int ath6kl_wmi_data_hdr_remove(struct wmi *wmi, struct sk_buff *skb); | ||
1929 | int ath6kl_wmi_implicit_create_pstream(struct wmi *wmi, struct sk_buff *skb, | 2170 | int ath6kl_wmi_implicit_create_pstream(struct wmi *wmi, struct sk_buff *skb, |
1930 | u32 layer2_priority, bool wmm_enabled, | 2171 | u32 layer2_priority, bool wmm_enabled, |
1931 | u8 *ac); | 2172 | u8 *ac); |
1932 | 2173 | ||
1933 | int ath6kl_wmi_control_rx(struct wmi *wmi, struct sk_buff *skb); | 2174 | int ath6kl_wmi_control_rx(struct wmi *wmi, struct sk_buff *skb); |
1934 | struct bss *ath6kl_wmi_find_node(struct wmi *wmi, const u8 *mac_addr); | ||
1935 | void ath6kl_wmi_node_free(struct wmi *wmi, const u8 *mac_addr); | ||
1936 | 2175 | ||
1937 | int ath6kl_wmi_cmd_send(struct wmi *wmi, struct sk_buff *skb, | 2176 | int ath6kl_wmi_cmd_send(struct wmi *wmi, struct sk_buff *skb, |
1938 | enum wmi_cmd_id cmd_id, enum wmi_sync_flag sync_flag); | 2177 | enum wmi_cmd_id cmd_id, enum wmi_sync_flag sync_flag); |
@@ -1978,6 +2217,7 @@ int ath6kl_wmi_set_lpreamble_cmd(struct wmi *wmi, u8 status, | |||
1978 | u8 preamble_policy); | 2217 | u8 preamble_policy); |
1979 | 2218 | ||
1980 | int ath6kl_wmi_get_challenge_resp_cmd(struct wmi *wmi, u32 cookie, u32 source); | 2219 | int ath6kl_wmi_get_challenge_resp_cmd(struct wmi *wmi, u32 cookie, u32 source); |
2220 | int ath6kl_wmi_config_debug_module_cmd(struct wmi *wmi, u32 valid, u32 config); | ||
1981 | 2221 | ||
1982 | int ath6kl_wmi_get_stats_cmd(struct wmi *wmi); | 2222 | int ath6kl_wmi_get_stats_cmd(struct wmi *wmi); |
1983 | int ath6kl_wmi_addkey_cmd(struct wmi *wmi, u8 key_index, | 2223 | int ath6kl_wmi_addkey_cmd(struct wmi *wmi, u8 key_index, |
@@ -1995,23 +2235,47 @@ int ath6kl_wmi_get_tx_pwr_cmd(struct wmi *wmi); | |||
1995 | 2235 | ||
1996 | int ath6kl_wmi_set_wmm_txop(struct wmi *wmi, enum wmi_txop_cfg cfg); | 2236 | int ath6kl_wmi_set_wmm_txop(struct wmi *wmi, enum wmi_txop_cfg cfg); |
1997 | int ath6kl_wmi_set_keepalive_cmd(struct wmi *wmi, u8 keep_alive_intvl); | 2237 | int ath6kl_wmi_set_keepalive_cmd(struct wmi *wmi, u8 keep_alive_intvl); |
2238 | int ath6kl_wmi_test_cmd(struct wmi *wmi, void *buf, size_t len); | ||
1998 | 2239 | ||
1999 | s32 ath6kl_wmi_get_rate(s8 rate_index); | 2240 | s32 ath6kl_wmi_get_rate(s8 rate_index); |
2000 | 2241 | ||
2001 | int ath6kl_wmi_set_ip_cmd(struct wmi *wmi, struct wmi_set_ip_cmd *ip_cmd); | 2242 | int ath6kl_wmi_set_ip_cmd(struct wmi *wmi, struct wmi_set_ip_cmd *ip_cmd); |
2243 | int ath6kl_wmi_set_roam_lrssi_cmd(struct wmi *wmi, u8 lrssi); | ||
2002 | 2244 | ||
2003 | struct bss *ath6kl_wmi_find_ssid_node(struct wmi *wmi, u8 *ssid, | 2245 | /* AP mode */ |
2004 | u32 ssid_len, bool is_wpa2, | 2246 | int ath6kl_wmi_ap_profile_commit(struct wmi *wmip, struct wmi_connect_cmd *p); |
2005 | bool match_ssid); | ||
2006 | 2247 | ||
2007 | void ath6kl_wmi_node_return(struct wmi *wmi, struct bss *bss); | 2248 | int ath6kl_wmi_ap_set_mlme(struct wmi *wmip, u8 cmd, const u8 *mac, u16 reason); |
2008 | 2249 | ||
2009 | /* AP mode */ | ||
2010 | int ath6kl_wmi_set_pvb_cmd(struct wmi *wmi, u16 aid, bool flag); | 2250 | int ath6kl_wmi_set_pvb_cmd(struct wmi *wmi, u16 aid, bool flag); |
2011 | 2251 | ||
2012 | int ath6kl_wmi_set_rx_frame_format_cmd(struct wmi *wmi, u8 rx_meta_version, | 2252 | int ath6kl_wmi_set_rx_frame_format_cmd(struct wmi *wmi, u8 rx_meta_version, |
2013 | bool rx_dot11_hdr, bool defrag_on_host); | 2253 | bool rx_dot11_hdr, bool defrag_on_host); |
2014 | 2254 | ||
2255 | int ath6kl_wmi_set_appie_cmd(struct wmi *wmi, u8 mgmt_frm_type, const u8 *ie, | ||
2256 | u8 ie_len); | ||
2257 | |||
2258 | /* P2P */ | ||
2259 | int ath6kl_wmi_disable_11b_rates_cmd(struct wmi *wmi, bool disable); | ||
2260 | |||
2261 | int ath6kl_wmi_remain_on_chnl_cmd(struct wmi *wmi, u32 freq, u32 dur); | ||
2262 | |||
2263 | int ath6kl_wmi_send_action_cmd(struct wmi *wmi, u32 id, u32 freq, u32 wait, | ||
2264 | const u8 *data, u16 data_len); | ||
2265 | |||
2266 | int ath6kl_wmi_send_probe_response_cmd(struct wmi *wmi, u32 freq, | ||
2267 | const u8 *dst, | ||
2268 | const u8 *data, u16 data_len); | ||
2269 | |||
2270 | int ath6kl_wmi_probe_report_req_cmd(struct wmi *wmi, bool enable); | ||
2271 | |||
2272 | int ath6kl_wmi_info_req_cmd(struct wmi *wmi, u32 info_req_flags); | ||
2273 | |||
2274 | int ath6kl_wmi_cancel_remain_on_chnl_cmd(struct wmi *wmi); | ||
2275 | |||
2276 | int ath6kl_wmi_set_appie_cmd(struct wmi *wmi, u8 mgmt_frm_type, const u8 *ie, | ||
2277 | u8 ie_len); | ||
2278 | |||
2015 | void *ath6kl_wmi_init(struct ath6kl *devt); | 2279 | void *ath6kl_wmi_init(struct ath6kl *devt); |
2016 | void ath6kl_wmi_shutdown(struct wmi *wmi); | 2280 | void ath6kl_wmi_shutdown(struct wmi *wmi); |
2017 | 2281 | ||