From 1d0fedf86c15b67b709c960d3b404468c56421f9 Mon Sep 17 00:00:00 2001 From: Gyanranjan Hazarika Date: Fri, 22 Jun 2018 16:44:59 -0700 Subject: [PATCH] qcacmn: Add host support for WMI_VDEV_PARAM_SET_HE_SOUNDING_MODE WMI_VDEV_PARAM_SET_HE_SOUNDING_MODE provides the scope for host to configure the sounding mode to (VHT or HE). It also provides (SU or MU) and (Triggered or Non-Triggered) configurability. Change-Id: Iac566383c5a6b6b3b402526afd2bfa4818f27bc5 CRs-Fixed: 2262752 --- wmi/inc/wmi_unified_param.h | 34 +++++++++++++++++++++++++++++++++- wmi/src/wmi_unified_tlv.c | 2 ++ 2 files changed, 35 insertions(+), 1 deletion(-) diff --git a/wmi/inc/wmi_unified_param.h b/wmi/inc/wmi_unified_param.h index 4bdb021d79..c4cafe9626 100644 --- a/wmi/inc/wmi_unified_param.h +++ b/wmi/inc/wmi_unified_param.h @@ -162,7 +162,6 @@ #define WMI_HOST_TXBF_CONF_SU_TX_BFEE_SET(x, z) \ WMI_HOST_F_RMW(x, z, WMI_HOST_TXBF_CONF_SU_TX_BFEE) - #define WMI_HOST_TXBF_CONF_MU_TX_BFEE_S 1 #define WMI_HOST_TXBF_CONF_MU_TX_BFEE_M 0x1 #define WMI_HOST_TXBF_CONF_MU_TX_BFEE \ @@ -303,6 +302,38 @@ #define WMI_HOST_HE_BF_CONF_UL_MUMIMO_SET(x, z) \ WMI_HOST_F_RMW(x, z, WMI_HOST_HE_BF_CONF_UL_MUMIMO) +/* HE or VHT Sounding */ +#define WMI_HOST_HE_VHT_SOUNDING_MODE_S 0 +#define WMI_HOST_HE_VHT_SOUNDING_MODE_M 0x1 +#define WMI_HOST_HE_VHT_SOUNDING_MODE \ + (WMI_HOST_HE_VHT_SOUNDING_MODE_M << WMI_HOST_HE_VHT_SOUNDING_MODE_S) +#define WMI_HOST_HE_VHT_SOUNDING_MODE_GET(x) \ + WMI_HOST_F_MS(x, WMI_HOST_HE_VHT_SOUNDING_MODE) +#define WMI_HOST_HE_VHT_SOUNDING_MODE_SET(x, z) \ + WMI_HOST_F_RMW(x, z, WMI_HOST_HE_VHT_SOUNDING_MODE) + +/* SU or MU Sounding */ +#define WMI_HOST_SU_MU_SOUNDING_MODE_S 2 +#define WMI_HOST_SU_MU_SOUNDING_MODE_M 0x1 +#define WMI_HOST_SU_MU_SOUNDING_MODE \ + (WMI_HOST_SU_MU_SOUNDING_MODE_M << \ + WMI_HOST_SU_MU_SOUNDING_MODE_S) +#define WMI_HOST_SU_MU_SOUNDING_MODE_GET(x) \ + WMI_HOST_F_MS(x, WMI_HOST_SU_MU_SOUNDING_MODE) +#define WMI_HOST_SU_MU_SOUNDING_MODE_SET(x, z) \ + WMI_HOST_F_RMW(x, z, WMI_HOST_SU_MU_SOUNDING_MODE) + +/* Trig or Non-Trig Sounding */ +#define WMI_HOST_TRIG_NONTRIG_SOUNDING_MODE_S 3 +#define WMI_HOST_TRIG_NONTRIG_SOUNDING_MODE_M 0x1 +#define WMI_HOST_TRIG_NONTRIG_SOUNDING_MODE \ + (WMI_HOST_TRIG_NONTRIG_SOUNDING_MODE_M << \ + WMI_HOST_TRIG_NONTRIG_SOUNDING_MODE_S) +#define WMI_HOST_TRIG_NONTRIG_SOUNDING_MODE_GET(x) \ + WMI_HOST_F_MS(x, WMI_HOST_TRIG_NONTRIG_SOUNDING_MODE) +#define WMI_HOST_HE_VHT_SU_MU_SOUNDING_MODE_SET(x, z) \ + WMI_HOST_F_RMW(x, z, WMI_HOST_TRIG_NONTRIG_SOUNDING_MODE) + #define WMI_HOST_TPC_RATE_MAX 160 #define WMI_HOST_TPC_TX_NUM_CHAIN 4 #define WMI_HOST_RXG_CAL_CHAN_MAX 8 @@ -5799,6 +5830,7 @@ typedef enum { wmi_vdev_param_set_ba_mode, wmi_vdev_param_autorate_misc_cfg, wmi_vdev_param_amsdu_subframe_size_per_ac, + wmi_vdev_param_set_he_sounding_mode, wmi_vdev_param_max, } wmi_conv_vdev_param_id; diff --git a/wmi/src/wmi_unified_tlv.c b/wmi/src/wmi_unified_tlv.c index fea904d0fd..23eefdb210 100644 --- a/wmi/src/wmi_unified_tlv.c +++ b/wmi/src/wmi_unified_tlv.c @@ -23177,6 +23177,8 @@ static void populate_vdev_param_tlv(uint32_t *vdev_param) WMI_VDEV_PARAM_HE_RANGE_EXT; vdev_param[wmi_vdev_param_he_bss_color] = WMI_VDEV_PARAM_BSS_COLOR; vdev_param[wmi_vdev_param_set_hemu_mode] = WMI_VDEV_PARAM_SET_HEMU_MODE; + vdev_param[wmi_vdev_param_set_he_sounding_mode] + = WMI_VDEV_PARAM_SET_HE_SOUNDING_MODE; vdev_param[wmi_vdev_param_set_heop] = WMI_VDEV_PARAM_HEOPS_0_31; vdev_param[wmi_vdev_param_sensor_ap] = WMI_VDEV_PARAM_SENSOR_AP; vdev_param[wmi_vdev_param_dtim_enable_cts] =