|
@@ -329,6 +329,10 @@ enum wmi_cmd_id {
|
|
|
WMI_SYNCHRONIZE_CMDID,
|
|
|
WMI_CREATE_PSTREAM_CMDID,
|
|
|
WMI_DELETE_PSTREAM_CMDID,
|
|
|
+ /* WMI_START_SCAN_CMDID is to be deprecated. Use
|
|
|
+ * WMI_BEGIN_SCAN_CMDID instead. The new cmd supports P2P mgmt
|
|
|
+ * operations using station interface.
|
|
|
+ */
|
|
|
WMI_START_SCAN_CMDID,
|
|
|
WMI_SET_SCAN_PARAMS_CMDID,
|
|
|
WMI_SET_BSS_FILTER_CMDID,
|
|
@@ -542,12 +546,61 @@ enum wmi_cmd_id {
|
|
|
WMI_GTK_OFFLOAD_OP_CMDID,
|
|
|
WMI_REMAIN_ON_CHNL_CMDID,
|
|
|
WMI_CANCEL_REMAIN_ON_CHNL_CMDID,
|
|
|
+ /* WMI_SEND_ACTION_CMDID is to be deprecated. Use
|
|
|
+ * WMI_SEND_MGMT_CMDID instead. The new cmd supports P2P mgmt
|
|
|
+ * operations using station interface.
|
|
|
+ */
|
|
|
WMI_SEND_ACTION_CMDID,
|
|
|
WMI_PROBE_REQ_REPORT_CMDID,
|
|
|
WMI_DISABLE_11B_RATES_CMDID,
|
|
|
WMI_SEND_PROBE_RESPONSE_CMDID,
|
|
|
WMI_GET_P2P_INFO_CMDID,
|
|
|
WMI_AP_JOIN_BSS_CMDID,
|
|
|
+
|
|
|
+ WMI_SMPS_ENABLE_CMDID,
|
|
|
+ WMI_SMPS_CONFIG_CMDID,
|
|
|
+ WMI_SET_RATECTRL_PARM_CMDID,
|
|
|
+ /* LPL specific commands*/
|
|
|
+ WMI_LPL_FORCE_ENABLE_CMDID,
|
|
|
+ WMI_LPL_SET_POLICY_CMDID,
|
|
|
+ WMI_LPL_GET_POLICY_CMDID,
|
|
|
+ WMI_LPL_GET_HWSTATE_CMDID,
|
|
|
+ WMI_LPL_SET_PARAMS_CMDID,
|
|
|
+ WMI_LPL_GET_PARAMS_CMDID,
|
|
|
+
|
|
|
+ WMI_SET_BUNDLE_PARAM_CMDID,
|
|
|
+
|
|
|
+ /*GreenTx specific commands*/
|
|
|
+
|
|
|
+ WMI_GREENTX_PARAMS_CMDID,
|
|
|
+
|
|
|
+ WMI_RTT_MEASREQ_CMDID,
|
|
|
+ WMI_RTT_CAPREQ_CMDID,
|
|
|
+ WMI_RTT_STATUSREQ_CMDID,
|
|
|
+
|
|
|
+ /* WPS Commands */
|
|
|
+ WMI_WPS_START_CMDID,
|
|
|
+ WMI_GET_WPS_STATUS_CMDID,
|
|
|
+
|
|
|
+ /* More P2P commands */
|
|
|
+ WMI_SET_NOA_CMDID,
|
|
|
+ WMI_GET_NOA_CMDID,
|
|
|
+ WMI_SET_OPPPS_CMDID,
|
|
|
+ WMI_GET_OPPPS_CMDID,
|
|
|
+ WMI_ADD_PORT_CMDID,
|
|
|
+ WMI_DEL_PORT_CMDID,
|
|
|
+
|
|
|
+ /* 802.11w cmd */
|
|
|
+ WMI_SET_RSN_CAP_CMDID,
|
|
|
+ WMI_GET_RSN_CAP_CMDID,
|
|
|
+ WMI_SET_IGTK_CMDID,
|
|
|
+
|
|
|
+ WMI_RX_FILTER_COALESCE_FILTER_OP_CMDID,
|
|
|
+ WMI_RX_FILTER_SET_FRAME_TEST_LIST_CMDID,
|
|
|
+
|
|
|
+ WMI_SEND_MGMT_CMDID,
|
|
|
+ WMI_BEGIN_SCAN_CMDID,
|
|
|
+
|
|
|
};
|
|
|
|
|
|
enum wmi_mgmt_frame_type {
|
|
@@ -567,6 +620,14 @@ enum network_type {
|
|
|
AP_NETWORK = 0x10,
|
|
|
};
|
|
|
|
|
|
+enum network_subtype {
|
|
|
+ SUBTYPE_NONE,
|
|
|
+ SUBTYPE_BT,
|
|
|
+ SUBTYPE_P2PDEV,
|
|
|
+ SUBTYPE_P2PCLIENT,
|
|
|
+ SUBTYPE_P2PGO,
|
|
|
+};
|
|
|
+
|
|
|
enum dot11_auth_mode {
|
|
|
OPEN_AUTH = 0x01,
|
|
|
SHARED_AUTH = 0x02,
|
|
@@ -639,6 +700,7 @@ struct wmi_connect_cmd {
|
|
|
__le16 ch;
|
|
|
u8 bssid[ETH_ALEN];
|
|
|
__le32 ctrl_flags;
|
|
|
+ u8 nw_subtype;
|
|
|
} __packed;
|
|
|
|
|
|
/* WMI_RECONNECT_CMDID */
|
|
@@ -726,6 +788,43 @@ enum wmi_scan_type {
|
|
|
WMI_SHORT_SCAN = 1,
|
|
|
};
|
|
|
|
|
|
+struct wmi_supp_rates {
|
|
|
+ u8 nrates;
|
|
|
+ u8 rates[ATH6KL_RATE_MAXSIZE];
|
|
|
+};
|
|
|
+
|
|
|
+struct wmi_begin_scan_cmd {
|
|
|
+ __le32 force_fg_scan;
|
|
|
+
|
|
|
+ /* for legacy cisco AP compatibility */
|
|
|
+ __le32 is_legacy;
|
|
|
+
|
|
|
+ /* max duration in the home channel(msec) */
|
|
|
+ __le32 home_dwell_time;
|
|
|
+
|
|
|
+ /* time interval between scans (msec) */
|
|
|
+ __le32 force_scan_intvl;
|
|
|
+
|
|
|
+ /* no CCK rates */
|
|
|
+ __le32 no_cck;
|
|
|
+
|
|
|
+ /* enum wmi_scan_type */
|
|
|
+ u8 scan_type;
|
|
|
+
|
|
|
+ /* Supported rates to advertise in the probe request frames */
|
|
|
+ struct wmi_supp_rates supp_rates[IEEE80211_NUM_BANDS];
|
|
|
+
|
|
|
+ /* how many channels follow */
|
|
|
+ u8 num_ch;
|
|
|
+
|
|
|
+ /* channels in Mhz */
|
|
|
+ __le16 ch_list[1];
|
|
|
+} __packed;
|
|
|
+
|
|
|
+/* wmi_start_scan_cmd is to be deprecated. Use
|
|
|
+ * wmi_begin_scan_cmd instead. The new structure supports P2P mgmt
|
|
|
+ * operations using station interface.
|
|
|
+ */
|
|
|
struct wmi_start_scan_cmd {
|
|
|
__le32 force_fg_scan;
|
|
|
|
|
@@ -2036,6 +2135,10 @@ struct wmi_remain_on_chnl_cmd {
|
|
|
__le32 duration;
|
|
|
} __packed;
|
|
|
|
|
|
+/* wmi_send_action_cmd is to be deprecated. Use
|
|
|
+ * wmi_send_mgmt_cmd instead. The new structure supports P2P mgmt
|
|
|
+ * operations using station interface.
|
|
|
+ */
|
|
|
struct wmi_send_action_cmd {
|
|
|
__le32 id;
|
|
|
__le32 freq;
|
|
@@ -2044,6 +2147,15 @@ struct wmi_send_action_cmd {
|
|
|
u8 data[0];
|
|
|
} __packed;
|
|
|
|
|
|
+struct wmi_send_mgmt_cmd {
|
|
|
+ __le32 id;
|
|
|
+ __le32 freq;
|
|
|
+ __le32 wait;
|
|
|
+ __le32 no_cck;
|
|
|
+ __le16 len;
|
|
|
+ u8 data[0];
|
|
|
+} __packed;
|
|
|
+
|
|
|
struct wmi_tx_status_event {
|
|
|
__le32 id;
|
|
|
u8 ack_status;
|
|
@@ -2232,7 +2344,8 @@ int ath6kl_wmi_connect_cmd(struct wmi *wmi, u8 if_idx,
|
|
|
u8 pairwise_crypto_len,
|
|
|
enum crypto_type group_crypto,
|
|
|
u8 group_crypto_len, int ssid_len, u8 *ssid,
|
|
|
- u8 *bssid, u16 channel, u32 ctrl_flags);
|
|
|
+ u8 *bssid, u16 channel, u32 ctrl_flags,
|
|
|
+ u8 nw_subtype);
|
|
|
|
|
|
int ath6kl_wmi_reconnect_cmd(struct wmi *wmi, u8 if_idx, u8 *bssid,
|
|
|
u16 channel);
|
|
@@ -2242,6 +2355,14 @@ int ath6kl_wmi_startscan_cmd(struct wmi *wmi, u8 if_idx,
|
|
|
u32 force_fgscan, u32 is_legacy,
|
|
|
u32 home_dwell_time, u32 force_scan_interval,
|
|
|
s8 num_chan, u16 *ch_list);
|
|
|
+
|
|
|
+int ath6kl_wmi_beginscan_cmd(struct wmi *wmi, u8 if_idx,
|
|
|
+ enum wmi_scan_type scan_type,
|
|
|
+ u32 force_fgscan, u32 is_legacy,
|
|
|
+ u32 home_dwell_time, u32 force_scan_interval,
|
|
|
+ s8 num_chan, u16 *ch_list, u32 no_cck,
|
|
|
+ u32 *rates);
|
|
|
+
|
|
|
int ath6kl_wmi_scanparams_cmd(struct wmi *wmi, u8 if_idx, u16 fg_start_sec,
|
|
|
u16 fg_end_sec, u16 bg_sec,
|
|
|
u16 minact_chdw_msec, u16 maxact_chdw_msec,
|
|
@@ -2336,6 +2457,10 @@ int ath6kl_wmi_remain_on_chnl_cmd(struct wmi *wmi, u8 if_idx, u32 freq,
|
|
|
int ath6kl_wmi_send_action_cmd(struct wmi *wmi, u8 if_idx, u32 id, u32 freq,
|
|
|
u32 wait, const u8 *data, u16 data_len);
|
|
|
|
|
|
+int ath6kl_wmi_send_mgmt_cmd(struct wmi *wmi, u8 if_idx, u32 id, u32 freq,
|
|
|
+ u32 wait, const u8 *data, u16 data_len,
|
|
|
+ u32 no_cck);
|
|
|
+
|
|
|
int ath6kl_wmi_send_probe_response_cmd(struct wmi *wmi, u8 if_idx, u32 freq,
|
|
|
const u8 *dst, const u8 *data,
|
|
|
u16 data_len);
|