From 428a19b59400582d7eb07a48046658a7240faf59 Mon Sep 17 00:00:00 2001 From: Anirban Sirkhell Date: Tue, 26 Sep 2017 18:43:06 +0530 Subject: [PATCH] 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 --- dp/inc/cdp_txrx_stats_struct.h | 1 + wmi/inc/wmi_unified_param.h | 1 + wmi/src/wmi_unified_non_tlv.c | 2 ++ 3 files changed, 4 insertions(+) diff --git a/dp/inc/cdp_txrx_stats_struct.h b/dp/inc/cdp_txrx_stats_struct.h index ee94f17683ac..9fd503520362 100644 --- a/dp/inc/cdp_txrx_stats_struct.h +++ b/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 */ diff --git a/wmi/inc/wmi_unified_param.h b/wmi/inc/wmi_unified_param.h index 0488edfffb7f..54a4be99aec0 100644 --- a/wmi/inc/wmi_unified_param.h +++ b/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; diff --git a/wmi/src/wmi_unified_non_tlv.c b/wmi/src/wmi_unified_non_tlv.c index c662b64637ef..5db01d936e51 100644 --- a/wmi/src/wmi_unified_non_tlv.c +++ b/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;