Commit 61fe43e7 authored by Miles Hu's avatar Miles Hu Committed by Kalle Valo

ath11k: add support for setting fixed HE rate/gi/ltf

Support setting fixed HE rate/gi/ltf values that we are now able to send
to the kernel using nl80211. The added code is reusing parts of the
existing code path already used for HT/VHT. The new helpers are
symmetric to how we do it for HT/VHT.

Tested-on: IPQ8074 hw2.0 AHB WLAN.HK.2.5.0.1-00235-QCAHKSWPL_SILICONZ-1
Signed-off-by: default avatarMiles Hu <milehu@codeaurora.org>
Co-developed-by: default avatarAloka Dixit <alokad@codeaurora.org>
Signed-off-by: default avatarAloka Dixit <alokad@codeaurora.org>
Co-developed-by: default avatarLavanya Suresh <lavaks@codeaurora.org>
Signed-off-by: default avatarLavanya Suresh <lavaks@codeaurora.org>
Co-developed-by: default avatarPradeep Chitrapu <pradeepc@codeaurora.org>
Signed-off-by: default avatarPradeep Chitrapu <pradeepc@codeaurora.org>
Signed-off-by: default avatarVenkateswara Naralasetty <vnaralas@codeaurora.org>
Signed-off-by: default avatarJouni Malinen <jouni@codeaurora.org>
Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/20210721173615.75637-1-jouni@codeaurora.org
parent 689a5e6f
This diff is collapsed.
...@@ -1904,8 +1904,8 @@ int ath11k_wmi_send_peer_assoc_cmd(struct ath11k *ar, ...@@ -1904,8 +1904,8 @@ int ath11k_wmi_send_peer_assoc_cmd(struct ath11k *ar,
FIELD_PREP(WMI_TLV_LEN, FIELD_PREP(WMI_TLV_LEN,
sizeof(*he_mcs) - TLV_HDR_SIZE); sizeof(*he_mcs) - TLV_HDR_SIZE);
he_mcs->rx_mcs_set = param->peer_he_rx_mcs_set[i]; he_mcs->rx_mcs_set = param->peer_he_tx_mcs_set[i];
he_mcs->tx_mcs_set = param->peer_he_tx_mcs_set[i]; he_mcs->tx_mcs_set = param->peer_he_rx_mcs_set[i];
ptr += sizeof(*he_mcs); ptr += sizeof(*he_mcs);
} }
......
...@@ -119,6 +119,22 @@ enum { ...@@ -119,6 +119,22 @@ enum {
WMI_HOST_WLAN_2G_5G_CAP = 0x3, WMI_HOST_WLAN_2G_5G_CAP = 0x3,
}; };
/* Parameters used for WMI_VDEV_PARAM_AUTORATE_MISC_CFG command.
* Used only for HE auto rate mode.
*/
enum {
/* HE LTF related configuration */
WMI_HE_AUTORATE_LTF_1X = BIT(0),
WMI_HE_AUTORATE_LTF_2X = BIT(1),
WMI_HE_AUTORATE_LTF_4X = BIT(2),
/* HE GI related configuration */
WMI_AUTORATE_400NS_GI = BIT(8),
WMI_AUTORATE_800NS_GI = BIT(9),
WMI_AUTORATE_1600NS_GI = BIT(10),
WMI_AUTORATE_3200NS_GI = BIT(11),
};
/* /*
* wmi command groups. * wmi command groups.
*/ */
...@@ -1044,7 +1060,9 @@ enum wmi_tlv_vdev_param { ...@@ -1044,7 +1060,9 @@ enum wmi_tlv_vdev_param {
WMI_VDEV_PARAM_HE_RANGE_EXT, WMI_VDEV_PARAM_HE_RANGE_EXT,
WMI_VDEV_PARAM_ENABLE_BCAST_PROBE_RESPONSE, WMI_VDEV_PARAM_ENABLE_BCAST_PROBE_RESPONSE,
WMI_VDEV_PARAM_FILS_MAX_CHANNEL_GUARD_TIME, WMI_VDEV_PARAM_FILS_MAX_CHANNEL_GUARD_TIME,
WMI_VDEV_PARAM_HE_LTF = 0x74,
WMI_VDEV_PARAM_BA_MODE = 0x7e, WMI_VDEV_PARAM_BA_MODE = 0x7e,
WMI_VDEV_PARAM_AUTORATE_MISC_CFG = 0x80,
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_6GHZ_PARAMS = 0x99,
WMI_VDEV_PARAM_PROTOTYPE = 0x8000, WMI_VDEV_PARAM_PROTOTYPE = 0x8000,
...@@ -3920,7 +3938,11 @@ struct wmi_vht_rate_set { ...@@ -3920,7 +3938,11 @@ struct wmi_vht_rate_set {
struct wmi_he_rate_set { struct wmi_he_rate_set {
u32 tlv_header; u32 tlv_header;
/* MCS at which the peer can receive */
u32 rx_mcs_set; u32 rx_mcs_set;
/* MCS at which the peer can transmit */
u32 tx_mcs_set; u32 tx_mcs_set;
} __packed; } __packed;
......
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