Browse Source

qcacmn: Add pdev param to set firmware to use lower chains for tx

Add new pdev param with which firmware can be set to use
a lower number of chains without doing a reset. In response
to this firmware's ratecontrol will select only rates
which can be sent using a lower number of chains, and set
the h/w tx descpriptor's chain select to whatever value
has been configured using this command.

CRs-Fixed: 2123206
Change-Id: Ice713393958c2c2acedba0fe2e9354f3fe3bee75
Anirban Sirkhell 7 years ago
parent
commit
428a19b594
3 changed files with 4 additions and 0 deletions
  1. 1 0
      dp/inc/cdp_txrx_stats_struct.h
  2. 1 0
      wmi/inc/wmi_unified_param.h
  3. 2 0
      wmi/src/wmi_unified_non_tlv.c

+ 1 - 0
dp/inc/cdp_txrx_stats_struct.h

@@ -502,6 +502,7 @@ enum _ol_ath_param_t {
 	OL_ATH_PARAM_NOMINAL_NOISEFLOOR = 358,
 	OL_ATH_PARAM_CHAN_INFO = 359,
 	OL_ATH_PARAM_ACS_RANK = 360,
+	OL_ATH_PARAM_TXCHAINSOFT = 361,
 };
 
 /* Enumeration of PDEV Configuration parameter */

+ 1 - 0
wmi/inc/wmi_unified_param.h

@@ -5550,6 +5550,7 @@ typedef enum {
 	wmi_pdev_param_btcoex_cfg,
 	wmi_pdev_param_mesh_mcast_enable,
 	wmi_pdev_param_tx_ack_timeout,
+	wmi_pdev_param_soft_tx_chain_mask,
 
 	wmi_pdev_param_max,
 } wmi_conv_pdev_params_id;

+ 2 - 0
wmi/src/wmi_unified_non_tlv.c

@@ -8819,6 +8819,8 @@ static void populate_pdev_param_non_tlv(uint32_t *pdev_param)
 	pdev_param[wmi_pdev_param_atf_peer_stats] =
 		WMI_PDEV_PARAM_ATF_PEER_STATS;
 	pdev_param[wmi_pdev_param_tx_ack_timeout] = WMI_UNAVAILABLE_PARAM;
+	pdev_param[wmi_pdev_param_soft_tx_chain_mask] =
+		WMI_PDEV_PARAM_SOFT_TX_CHAIN_MASK;
 	pdev_param[wmi_pdev_param_rfkill_enable] = WMI_UNAVAILABLE_PARAM;
 	pdev_param[wmi_pdev_param_hw_rfkill_config] = WMI_UNAVAILABLE_PARAM;
 	pdev_param[wmi_pdev_param_low_power_rf_enable] = WMI_UNAVAILABLE_PARAM;