Commit 91270d70 authored by Pradeep Kumar Chitrapu's avatar Pradeep Kumar Chitrapu Committed by Kalle Valo

ath11k: extend peer_assoc_cmd for 6GHz band

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: default avatarPradeep Kumar Chitrapu <pradeepc@codeaurora.org>
Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/20200603001724.12161-5-pradeepc@codeaurora.org
parent 5dcf42f8
...@@ -1789,6 +1789,7 @@ int ath11k_wmi_send_peer_assoc_cmd(struct ath11k *ar, ...@@ -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 = param->peer_he_cap_macinfo[0];
cmd->peer_he_cap_info_ext = param->peer_he_cap_macinfo[1]; 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_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; cmd->peer_he_ops = param->peer_he_ops;
memcpy(&cmd->peer_he_cap_phy, &param->peer_he_cap_phyinfo, memcpy(&cmd->peer_he_cap_phy, &param->peer_he_cap_phyinfo,
sizeof(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, ...@@ -1842,6 +1843,7 @@ int ath11k_wmi_send_peer_assoc_cmd(struct ath11k *ar,
/* HE Rates */ /* HE Rates */
cmd->peer_he_mcs = param->peer_he_mcs_count; cmd->peer_he_mcs = param->peer_he_mcs_count;
cmd->min_data_rate = param->min_data_rate;
ptr += sizeof(*mcs); ptr += sizeof(*mcs);
......
...@@ -1011,6 +1011,7 @@ enum wmi_tlv_vdev_param { ...@@ -1011,6 +1011,7 @@ enum wmi_tlv_vdev_param {
WMI_VDEV_PARAM_FILS_MAX_CHANNEL_GUARD_TIME, WMI_VDEV_PARAM_FILS_MAX_CHANNEL_GUARD_TIME,
WMI_VDEV_PARAM_BA_MODE = 0x7e, WMI_VDEV_PARAM_BA_MODE = 0x7e,
WMI_VDEV_PARAM_SET_HE_SOUNDING_MODE = 0x87, WMI_VDEV_PARAM_SET_HE_SOUNDING_MODE = 0x87,
WMI_VDEV_PARAM_6GHZ_PARAMS = 0x99,
WMI_VDEV_PARAM_PROTOTYPE = 0x8000, WMI_VDEV_PARAM_PROTOTYPE = 0x8000,
WMI_VDEV_PARAM_BSS_COLOR, WMI_VDEV_PARAM_BSS_COLOR,
WMI_VDEV_PARAM_SET_HEMU_MODE, WMI_VDEV_PARAM_SET_HEMU_MODE,
...@@ -3444,6 +3445,7 @@ struct peer_assoc_params { ...@@ -3444,6 +3445,7 @@ struct peer_assoc_params {
u32 tx_max_rate; u32 tx_max_rate;
u32 tx_mcs_set; u32 tx_mcs_set;
u8 vht_capable; u8 vht_capable;
u8 min_data_rate;
u32 tx_max_mcs_nss; u32 tx_max_mcs_nss;
u32 peer_bw_rxnss_override; u32 peer_bw_rxnss_override;
bool is_pmf_enabled; bool is_pmf_enabled;
...@@ -3472,6 +3474,7 @@ struct peer_assoc_params { ...@@ -3472,6 +3474,7 @@ struct peer_assoc_params {
bool he_flag; bool he_flag;
u32 peer_he_cap_macinfo[2]; u32 peer_he_cap_macinfo[2];
u32 peer_he_cap_macinfo_internal; u32 peer_he_cap_macinfo_internal;
u32 peer_he_caps_6ghz;
u32 peer_he_ops; u32 peer_he_ops;
u32 peer_he_cap_phyinfo[WMI_HOST_MAX_HECAP_PHY_SIZE]; u32 peer_he_cap_phyinfo[WMI_HOST_MAX_HECAP_PHY_SIZE];
u32 peer_he_mcs_count; u32 peer_he_mcs_count;
...@@ -3509,6 +3512,8 @@ struct wmi_peer_assoc_complete_cmd { ...@@ -3509,6 +3512,8 @@ struct wmi_peer_assoc_complete_cmd {
u32 peer_he_mcs; u32 peer_he_mcs;
u32 peer_he_cap_info_ext; u32 peer_he_cap_info_ext;
u32 peer_he_cap_info_internal; u32 peer_he_cap_info_internal;
u32 min_data_rate;
u32 peer_he_caps_6ghz;
} __packed; } __packed;
struct wmi_stop_scan_cmd { struct wmi_stop_scan_cmd {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment