Browse Source

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
Gyanranjan Hazarika 6 năm trước cách đây
mục cha
commit
1d0fedf86c
2 tập tin đã thay đổi với 35 bổ sung1 xóa
  1. 33 1
      wmi/inc/wmi_unified_param.h
  2. 2 0
      wmi/src/wmi_unified_tlv.c

+ 33 - 1
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;

+ 2 - 0
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] =