diff options
author | Jouni Malinen <jouni@qca.qualcomm.com> | 2011-08-30 14:57:54 -0400 |
---|---|---|
committer | Kalle Valo <kvalo@qca.qualcomm.com> | 2011-08-31 03:13:00 -0400 |
commit | 6465ddcf6c1e06d3fde870624be4418e747f0e8b (patch) | |
tree | c1a34a5ef64eb5cf4347343d4b1e190bde2dca46 /drivers/net/wireless/ath/ath6kl/wmi.h | |
parent | 238751365a1c42b1d66beb03dd81ca5d0fd12833 (diff) |
ath6kl: Add new WMI commands and events for P2P
Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Diffstat (limited to 'drivers/net/wireless/ath/ath6kl/wmi.h')
-rw-r--r-- | drivers/net/wireless/ath/ath6kl/wmi.h | 184 |
1 files changed, 176 insertions, 8 deletions
diff --git a/drivers/net/wireless/ath/ath6kl/wmi.h b/drivers/net/wireless/ath/ath6kl/wmi.h index eb6bfcd879e0..5e2f6ce41ba1 100644 --- a/drivers/net/wireless/ath/ath6kl/wmi.h +++ b/drivers/net/wireless/ath/ath6kl/wmi.h | |||
@@ -490,17 +490,52 @@ enum wmi_cmd_id { | |||
490 | WMI_SET_PASSPHRASE_CMDID, | 490 | WMI_SET_PASSPHRASE_CMDID, |
491 | WMI_SEND_ASSOC_RES_CMDID, | 491 | WMI_SEND_ASSOC_RES_CMDID, |
492 | WMI_SET_ASSOC_REQ_RELAY_CMDID, | 492 | WMI_SET_ASSOC_REQ_RELAY_CMDID, |
493 | WMI_GET_RFKILL_MODE_CMDID, | ||
494 | 493 | ||
495 | /* ACS command, consists of sub-commands */ | 494 | /* ACS command, consists of sub-commands */ |
496 | WMI_ACS_CTRL_CMDID, | 495 | WMI_ACS_CTRL_CMDID, |
496 | WMI_SET_EXCESS_TX_RETRY_THRES_CMDID, | ||
497 | WMI_SET_TBD_TIME_CMDID, /*added for wmiconfig command for TBD */ | ||
498 | |||
499 | /* Pktlog cmds */ | ||
500 | WMI_PKTLOG_ENABLE_CMDID, | ||
501 | WMI_PKTLOG_DISABLE_CMDID, | ||
502 | |||
503 | /* More P2P Cmds */ | ||
504 | WMI_P2P_GO_NEG_REQ_RSP_CMDID, | ||
505 | WMI_P2P_GRP_INIT_CMDID, | ||
506 | WMI_P2P_GRP_FORMATION_DONE_CMDID, | ||
507 | WMI_P2P_INVITE_CMDID, | ||
508 | WMI_P2P_INVITE_REQ_RSP_CMDID, | ||
509 | WMI_P2P_PROV_DISC_REQ_CMDID, | ||
510 | WMI_P2P_SET_CMDID, | ||
497 | 511 | ||
512 | WMI_GET_RFKILL_MODE_CMDID, | ||
513 | WMI_SET_RFKILL_MODE_CMDID, | ||
514 | WMI_AP_SET_APSD_CMDID, | ||
515 | WMI_AP_APSD_BUFFERED_TRAFFIC_CMDID, | ||
516 | |||
517 | WMI_P2P_SDPD_TX_CMDID, /* F05C */ | ||
518 | WMI_P2P_STOP_SDPD_CMDID, | ||
519 | WMI_P2P_CANCEL_CMDID, | ||
498 | /* Ultra low power store / recall commands */ | 520 | /* Ultra low power store / recall commands */ |
499 | WMI_STORERECALL_CONFIGURE_CMDID, | 521 | WMI_STORERECALL_CONFIGURE_CMDID, |
500 | WMI_STORERECALL_RECALL_CMDID, | 522 | WMI_STORERECALL_RECALL_CMDID, |
501 | WMI_STORERECALL_HOST_READY_CMDID, | 523 | WMI_STORERECALL_HOST_READY_CMDID, |
502 | WMI_FORCE_TARGET_ASSERT_CMDID, | 524 | WMI_FORCE_TARGET_ASSERT_CMDID, |
503 | WMI_SET_EXCESS_TX_RETRY_THRES_CMDID, | 525 | |
526 | WMI_SET_PROBED_SSID_EX_CMDID, | ||
527 | WMI_SET_NETWORK_LIST_OFFLOAD_CMDID, | ||
528 | WMI_SET_ARP_NS_OFFLOAD_CMDID, | ||
529 | WMI_ADD_WOW_EXT_PATTERN_CMDID, | ||
530 | WMI_GTK_OFFLOAD_OP_CMDID, | ||
531 | WMI_REMAIN_ON_CHNL_CMDID, | ||
532 | WMI_CANCEL_REMAIN_ON_CHNL_CMDID, | ||
533 | WMI_SEND_ACTION_CMDID, | ||
534 | WMI_PROBE_REQ_REPORT_CMDID, | ||
535 | WMI_DISABLE_11B_RATES_CMDID, | ||
536 | WMI_SEND_PROBE_RESPONSE_CMDID, | ||
537 | WMI_GET_P2P_INFO_CMDID, | ||
538 | WMI_AP_JOIN_BSS_CMDID, | ||
504 | }; | 539 | }; |
505 | 540 | ||
506 | enum wmi_mgmt_frame_type { | 541 | enum wmi_mgmt_frame_type { |
@@ -1188,15 +1223,26 @@ enum wmi_event_id { | |||
1188 | WMI_WAC_START_WPS_EVENTID, | 1223 | WMI_WAC_START_WPS_EVENTID, |
1189 | WMI_WAC_CTRL_REQ_REPLY_EVENTID, | 1224 | WMI_WAC_CTRL_REQ_REPLY_EVENTID, |
1190 | 1225 | ||
1226 | WMI_REPORT_WMM_PARAMS_EVENTID, | ||
1227 | WMI_WAC_REJECT_WPS_EVENTID, | ||
1228 | |||
1229 | /* More P2P Events */ | ||
1230 | WMI_P2P_GO_NEG_REQ_EVENTID, | ||
1231 | WMI_P2P_INVITE_REQ_EVENTID, | ||
1232 | WMI_P2P_INVITE_RCVD_RESULT_EVENTID, | ||
1233 | WMI_P2P_INVITE_SENT_RESULT_EVENTID, | ||
1234 | WMI_P2P_PROV_DISC_RESP_EVENTID, | ||
1235 | WMI_P2P_PROV_DISC_REQ_EVENTID, | ||
1236 | |||
1191 | /* RFKILL Events */ | 1237 | /* RFKILL Events */ |
1192 | WMI_RFKILL_STATE_CHANGE_EVENTID, | 1238 | WMI_RFKILL_STATE_CHANGE_EVENTID, |
1193 | WMI_RFKILL_GET_MODE_CMD_EVENTID, | 1239 | WMI_RFKILL_GET_MODE_CMD_EVENTID, |
1194 | WMI_THIN_RESERVED_START_EVENTID = 0x8000, | ||
1195 | 1240 | ||
1196 | /* | 1241 | WMI_P2P_START_SDPD_EVENTID, |
1197 | * Events in this range are reserved for thinmode | 1242 | WMI_P2P_SDPD_RX_EVENTID, |
1198 | * See wmi_thin.h for actual definitions | 1243 | |
1199 | */ | 1244 | WMI_THIN_RESERVED_START_EVENTID = 0x8000, |
1245 | /* Events in this range are reserved for thinmode */ | ||
1200 | WMI_THIN_RESERVED_END_EVENTID = 0x8fff, | 1246 | WMI_THIN_RESERVED_END_EVENTID = 0x8fff, |
1201 | 1247 | ||
1202 | WMI_SET_CHANNEL_EVENTID, | 1248 | WMI_SET_CHANNEL_EVENTID, |
@@ -1204,7 +1250,17 @@ enum wmi_event_id { | |||
1204 | 1250 | ||
1205 | /* Generic ACS event */ | 1251 | /* Generic ACS event */ |
1206 | WMI_ACS_EVENTID, | 1252 | WMI_ACS_EVENTID, |
1207 | WMI_REPORT_WMM_PARAMS_EVENTID | 1253 | WMI_STORERECALL_STORE_EVENTID, |
1254 | WMI_WOW_EXT_WAKE_EVENTID, | ||
1255 | WMI_GTK_OFFLOAD_STATUS_EVENTID, | ||
1256 | WMI_NETWORK_LIST_OFFLOAD_EVENTID, | ||
1257 | WMI_REMAIN_ON_CHNL_EVENTID, | ||
1258 | WMI_CANCEL_REMAIN_ON_CHNL_EVENTID, | ||
1259 | WMI_TX_STATUS_EVENTID, | ||
1260 | WMI_RX_PROBE_REQ_EVENTID, | ||
1261 | WMI_P2P_CAPABILITIES_EVENTID, | ||
1262 | WMI_RX_ACTION_EVENTID, | ||
1263 | WMI_P2P_INFO_EVENTID, | ||
1208 | }; | 1264 | }; |
1209 | 1265 | ||
1210 | struct wmi_ready_event_2 { | 1266 | struct wmi_ready_event_2 { |
@@ -1872,6 +1928,100 @@ struct wmi_ap_mode_stat { | |||
1872 | 1928 | ||
1873 | /* End of AP mode definitions */ | 1929 | /* End of AP mode definitions */ |
1874 | 1930 | ||
1931 | struct wmi_remain_on_chnl_cmd { | ||
1932 | __le32 freq; | ||
1933 | __le32 duration; | ||
1934 | } __packed; | ||
1935 | |||
1936 | struct wmi_send_action_cmd { | ||
1937 | __le32 id; | ||
1938 | __le32 freq; | ||
1939 | __le32 wait; | ||
1940 | __le16 len; | ||
1941 | u8 data[0]; | ||
1942 | } __packed; | ||
1943 | |||
1944 | struct wmi_tx_status_event { | ||
1945 | __le32 id; | ||
1946 | u8 ack_status; | ||
1947 | } __packed; | ||
1948 | |||
1949 | struct wmi_probe_req_report_cmd { | ||
1950 | u8 enable; | ||
1951 | } __packed; | ||
1952 | |||
1953 | struct wmi_disable_11b_rates_cmd { | ||
1954 | u8 disable; | ||
1955 | } __packed; | ||
1956 | |||
1957 | struct wmi_set_appie_extended_cmd { | ||
1958 | u8 role_id; | ||
1959 | u8 mgmt_frm_type; | ||
1960 | u8 ie_len; | ||
1961 | u8 ie_info[0]; | ||
1962 | } __packed; | ||
1963 | |||
1964 | struct wmi_remain_on_chnl_event { | ||
1965 | __le32 freq; | ||
1966 | __le32 duration; | ||
1967 | } __packed; | ||
1968 | |||
1969 | struct wmi_cancel_remain_on_chnl_event { | ||
1970 | __le32 freq; | ||
1971 | __le32 duration; | ||
1972 | u8 status; | ||
1973 | } __packed; | ||
1974 | |||
1975 | struct wmi_rx_action_event { | ||
1976 | __le32 freq; | ||
1977 | __le16 len; | ||
1978 | u8 data[0]; | ||
1979 | } __packed; | ||
1980 | |||
1981 | struct wmi_p2p_capabilities_event { | ||
1982 | __le16 len; | ||
1983 | u8 data[0]; | ||
1984 | } __packed; | ||
1985 | |||
1986 | struct wmi_p2p_rx_probe_req_event { | ||
1987 | __le32 freq; | ||
1988 | __le16 len; | ||
1989 | u8 data[0]; | ||
1990 | } __packed; | ||
1991 | |||
1992 | #define P2P_FLAG_CAPABILITIES_REQ (0x00000001) | ||
1993 | #define P2P_FLAG_MACADDR_REQ (0x00000002) | ||
1994 | #define P2P_FLAG_HMODEL_REQ (0x00000002) | ||
1995 | |||
1996 | struct wmi_get_p2p_info { | ||
1997 | __le32 info_req_flags; | ||
1998 | } __packed; | ||
1999 | |||
2000 | struct wmi_p2p_info_event { | ||
2001 | __le32 info_req_flags; | ||
2002 | __le16 len; | ||
2003 | u8 data[0]; | ||
2004 | } __packed; | ||
2005 | |||
2006 | struct wmi_p2p_capabilities { | ||
2007 | u8 go_power_save; | ||
2008 | } __packed; | ||
2009 | |||
2010 | struct wmi_p2p_macaddr { | ||
2011 | u8 mac_addr[ETH_ALEN]; | ||
2012 | } __packed; | ||
2013 | |||
2014 | struct wmi_p2p_hmodel { | ||
2015 | u8 p2p_model; | ||
2016 | } __packed; | ||
2017 | |||
2018 | struct wmi_p2p_probe_response_cmd { | ||
2019 | __le32 freq; | ||
2020 | u8 destination_addr[ETH_ALEN]; | ||
2021 | __le16 len; | ||
2022 | u8 data[0]; | ||
2023 | } __packed; | ||
2024 | |||
1875 | /* Extended WMI (WMIX) | 2025 | /* Extended WMI (WMIX) |
1876 | * | 2026 | * |
1877 | * Extended WMIX commands are encapsulated in a WMI message with | 2027 | * Extended WMIX commands are encapsulated in a WMI message with |
@@ -2050,6 +2200,24 @@ int ath6kl_wmi_set_rx_frame_format_cmd(struct wmi *wmi, u8 rx_meta_version, | |||
2050 | int ath6kl_wmi_set_appie_cmd(struct wmi *wmi, u8 mgmt_frm_type, const u8 *ie, | 2200 | int ath6kl_wmi_set_appie_cmd(struct wmi *wmi, u8 mgmt_frm_type, const u8 *ie, |
2051 | u8 ie_len); | 2201 | u8 ie_len); |
2052 | 2202 | ||
2203 | /* P2P */ | ||
2204 | int ath6kl_wmi_disable_11b_rates_cmd(struct wmi *wmi, bool disable); | ||
2205 | |||
2206 | int ath6kl_wmi_remain_on_chnl_cmd(struct wmi *wmi, u32 freq, u32 dur); | ||
2207 | |||
2208 | int ath6kl_wmi_send_action_cmd(struct wmi *wmi, u32 id, u32 freq, u32 wait, | ||
2209 | const u8 *data, u16 data_len); | ||
2210 | |||
2211 | int ath6kl_wmi_send_probe_response_cmd(struct wmi *wmi, u32 freq, | ||
2212 | const u8 *dst, | ||
2213 | const u8 *data, u16 data_len); | ||
2214 | |||
2215 | int ath6kl_wmi_probe_report_req_cmd(struct wmi *wmi, bool enable); | ||
2216 | |||
2217 | int ath6kl_wmi_info_req_cmd(struct wmi *wmi, u32 info_req_flags); | ||
2218 | |||
2219 | int ath6kl_wmi_cancel_remain_on_chnl_cmd(struct wmi *wmi); | ||
2220 | |||
2053 | void *ath6kl_wmi_init(struct ath6kl *devt); | 2221 | void *ath6kl_wmi_init(struct ath6kl *devt); |
2054 | void ath6kl_wmi_shutdown(struct wmi *wmi); | 2222 | void ath6kl_wmi_shutdown(struct wmi *wmi); |
2055 | 2223 | ||