OSDN Git Service

ath11k: extend peer_assoc_cmd for 6GHz band
authorPradeep Kumar Chitrapu <pradeepc@codeaurora.org>
Tue, 9 Jun 2020 06:31:03 +0000 (09:31 +0300)
committerKalle Valo <kvalo@codeaurora.org>
Thu, 11 Jun 2020 05:05:11 +0000 (08:05 +0300)
This adds support required for configuring min_data_rate of 6GHz oper IE
and peer_he_caps_6ghz in peer assoc command. The Minimum Rate field
indicates the minimum rate, in units of 1 Mb/s, that the non-AP STA is
allowed to use for sending PPDUs as defined in IEEE P802.11ax™/D6.0.

Signed-off-by: Pradeep Kumar Chitrapu <pradeepc@codeaurora.org>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/20200603001724.12161-5-pradeepc@codeaurora.org
drivers/net/wireless/ath/ath11k/wmi.c
drivers/net/wireless/ath/ath11k/wmi.h

index 500108f..a6bbb3b 100644 (file)
@@ -1789,6 +1789,7 @@ int ath11k_wmi_send_peer_assoc_cmd(struct ath11k *ar,
        cmd->peer_he_cap_info = param->peer_he_cap_macinfo[0];
        cmd->peer_he_cap_info_ext = param->peer_he_cap_macinfo[1];
        cmd->peer_he_cap_info_internal = param->peer_he_cap_macinfo_internal;
+       cmd->peer_he_caps_6ghz = param->peer_he_caps_6ghz;
        cmd->peer_he_ops = param->peer_he_ops;
        memcpy(&cmd->peer_he_cap_phy, &param->peer_he_cap_phyinfo,
               sizeof(param->peer_he_cap_phyinfo));
@@ -1842,6 +1843,7 @@ int ath11k_wmi_send_peer_assoc_cmd(struct ath11k *ar,
 
        /* HE Rates */
        cmd->peer_he_mcs = param->peer_he_mcs_count;
+       cmd->min_data_rate = param->min_data_rate;
 
        ptr += sizeof(*mcs);
 
index afa3c4c..fd82cff 100644 (file)
@@ -1011,6 +1011,7 @@ enum wmi_tlv_vdev_param {
        WMI_VDEV_PARAM_FILS_MAX_CHANNEL_GUARD_TIME,
        WMI_VDEV_PARAM_BA_MODE = 0x7e,
        WMI_VDEV_PARAM_SET_HE_SOUNDING_MODE = 0x87,
+       WMI_VDEV_PARAM_6GHZ_PARAMS = 0x99,
        WMI_VDEV_PARAM_PROTOTYPE = 0x8000,
        WMI_VDEV_PARAM_BSS_COLOR,
        WMI_VDEV_PARAM_SET_HEMU_MODE,
@@ -3444,6 +3445,7 @@ struct peer_assoc_params {
        u32 tx_max_rate;
        u32 tx_mcs_set;
        u8 vht_capable;
+       u8 min_data_rate;
        u32 tx_max_mcs_nss;
        u32 peer_bw_rxnss_override;
        bool is_pmf_enabled;
@@ -3472,6 +3474,7 @@ struct peer_assoc_params {
        bool he_flag;
        u32 peer_he_cap_macinfo[2];
        u32 peer_he_cap_macinfo_internal;
+       u32 peer_he_caps_6ghz;
        u32 peer_he_ops;
        u32 peer_he_cap_phyinfo[WMI_HOST_MAX_HECAP_PHY_SIZE];
        u32 peer_he_mcs_count;
@@ -3509,6 +3512,8 @@ struct  wmi_peer_assoc_complete_cmd {
        u32 peer_he_mcs;
        u32 peer_he_cap_info_ext;
        u32 peer_he_cap_info_internal;
+       u32 min_data_rate;
+       u32 peer_he_caps_6ghz;
 } __packed;
 
 struct wmi_stop_scan_cmd {