ath6kl clear the MMC_PM_KEEP_POWER for cutpower case
[deliverable/linux.git] / drivers / net / wireless / ath / ath6kl / wmi.h
index b99e9bdca7c677b2862678c2a5c3652d50ddc358..190b2c4e382f4ef32d2d8a974fcdeaf81387d525 100644 (file)
@@ -426,6 +426,7 @@ enum wmi_cmd_id {
        WMI_SET_FRAMERATES_CMDID,
        WMI_SET_AP_PS_CMDID,
        WMI_SET_QOS_SUPP_CMDID,
+       WMI_SET_IE_CMDID,
 
        /* WMI_THIN_RESERVED_... mark the start and end
         * values for WMI_THIN_RESERVED command IDs. These
@@ -632,6 +633,11 @@ enum wmi_mgmt_frame_type {
        WMI_NUM_MGMT_FRAME
 };
 
+enum wmi_ie_field_type {
+       WMI_RSN_IE_CAPB = 0x1,
+       WMI_IE_FULL     = 0xFF,  /* indicats full IE */
+};
+
 /* WMI_CONNECT_CMDID  */
 enum network_type {
        INFRA_NETWORK = 0x01,
@@ -1145,6 +1151,7 @@ enum wmi_phy_mode {
        WMI_11AG_MODE = 0x3,
        WMI_11B_MODE = 0x4,
        WMI_11GONLY_MODE = 0x5,
+       WMI_11G_HT20    = 0x6,
 };
 
 #define WMI_MAX_CHANNELS        32
@@ -1271,6 +1278,16 @@ struct wmi_mcast_filter_add_del_cmd {
        u8 mcast_mac[ATH6KL_MCAST_FILTER_MAC_ADDR_SIZE];
 } __packed;
 
+struct wmi_set_htcap_cmd {
+       u8 band;
+       u8 ht_enable;
+       u8 ht40_supported;
+       u8 ht20_sgi;
+       u8 ht40_sgi;
+       u8 intolerant_40mhz;
+       u8 max_ampdu_len_exp;
+} __packed;
+
 /* Command Replies */
 
 /* WMI_GET_CHANNEL_LIST_CMDID reply */
@@ -1452,6 +1469,17 @@ enum wmi_disconnect_reason {
        IBSS_MERGE = 0xe,
 };
 
+/* AP mode disconnect proto_reasons */
+enum ap_disconnect_reason {
+       WMI_AP_REASON_STA_LEFT          = 101,
+       WMI_AP_REASON_FROM_HOST         = 102,
+       WMI_AP_REASON_COMM_TIMEOUT      = 103,
+       WMI_AP_REASON_MAX_STA           = 104,
+       WMI_AP_REASON_ACL               = 105,
+       WMI_AP_REASON_STA_ROAM          = 106,
+       WMI_AP_REASON_DFS_CHANNEL       = 107,
+};
+
 #define ATH6KL_COUNTRY_RD_SHIFT        16
 
 struct ath6kl_wmi_regdomain {
@@ -1916,6 +1944,14 @@ struct wmi_set_appie_cmd {
        u8 ie_info[0];
 } __packed;
 
+struct wmi_set_ie_cmd {
+       u8 ie_id;
+       u8 ie_field;    /* enum wmi_ie_field_type */
+       u8 ie_len;
+       u8 reserved;
+       u8 ie_info[0];
+} __packed;
+
 /* Notify the WSC registration status to the target */
 #define WSC_REG_ACTIVE     1
 #define WSC_REG_INACTIVE   0
@@ -2473,6 +2509,9 @@ int ath6kl_wmi_get_roam_tbl_cmd(struct wmi *wmi);
 int ath6kl_wmi_set_wmm_txop(struct wmi *wmi, u8 if_idx, enum wmi_txop_cfg cfg);
 int ath6kl_wmi_set_keepalive_cmd(struct wmi *wmi, u8 if_idx,
                                 u8 keep_alive_intvl);
+int ath6kl_wmi_set_htcap_cmd(struct wmi *wmi, u8 if_idx,
+                            enum ieee80211_band band,
+                            struct ath6kl_htcap *htcap);
 int ath6kl_wmi_test_cmd(struct wmi *wmi, void *buf, size_t len);
 
 s32 ath6kl_wmi_get_rate(s8 rate_index);
@@ -2523,6 +2562,9 @@ int ath6kl_wmi_set_rx_frame_format_cmd(struct wmi *wmi, u8 if_idx,
 int ath6kl_wmi_set_appie_cmd(struct wmi *wmi, u8 if_idx, u8 mgmt_frm_type,
                             const u8 *ie, u8 ie_len);
 
+int ath6kl_wmi_set_ie_cmd(struct wmi *wmi, u8 if_idx, u8 ie_id, u8 ie_field,
+                         const u8 *ie_info, u8 ie_len);
+
 /* P2P */
 int ath6kl_wmi_disable_11b_rates_cmd(struct wmi *wmi, bool disable);
 
This page took 0.049493 seconds and 5 git commands to generate.