qcacmn: enable/disable PPEDS per WLAN soc
Enable or Disable PPEDS for specific WLAN Soc. usage: add "ppeds_wifi_soc_cfg=0x02" in /ini/global_i.ini to enable PPEDS only for second WLAN SoC. Change-Id: I65f138cf37298feac70e76b95c22507e58394618 CRs-Fixed: 3408439
This commit is contained in:

committed by
Madan Koyyalamudi

vanhempi
cb82f44a0d
commit
0be3bb02d9
@@ -509,6 +509,10 @@
|
|||||||
#define WLAN_CFG_DP_NAPI_SCALE_FACTOR_MIN 0
|
#define WLAN_CFG_DP_NAPI_SCALE_FACTOR_MIN 0
|
||||||
#define WLAN_CFG_DP_NAPI_SCALE_FACTOR_MAX 4
|
#define WLAN_CFG_DP_NAPI_SCALE_FACTOR_MAX 4
|
||||||
|
|
||||||
|
#define CFG_DP_PPEDS_WIFI_SOC_CFG_NONE 0
|
||||||
|
#define CFG_DP_PPEDS_WIFI_SOC_CFG_ALL 0xFF
|
||||||
|
#define CFG_DP_PPEDS_WIFI_SOC_CFG_DEFAULT 0xFF
|
||||||
|
|
||||||
#ifdef CONFIG_SAWF_STATS
|
#ifdef CONFIG_SAWF_STATS
|
||||||
#define WLAN_CFG_SAWF_STATS 0x0
|
#define WLAN_CFG_SAWF_STATS 0x0
|
||||||
#define WLAN_CFG_SAWF_STATS_MIN 0x0
|
#define WLAN_CFG_SAWF_STATS_MIN 0x0
|
||||||
@@ -1742,13 +1746,21 @@
|
|||||||
WLAN_CFG_PPE2TCL_RING_SIZE, \
|
WLAN_CFG_PPE2TCL_RING_SIZE, \
|
||||||
CFG_VALUE_OR_DEFAULT, "DP PPE2TCL rings")
|
CFG_VALUE_OR_DEFAULT, "DP PPE2TCL rings")
|
||||||
|
|
||||||
|
#define CFG_DP_PPEDS_WIFI_SOC_CFG \
|
||||||
|
CFG_INI_UINT("ppeds_wifi_soc_cfg", \
|
||||||
|
CFG_DP_PPEDS_WIFI_SOC_CFG_NONE, \
|
||||||
|
CFG_DP_PPEDS_WIFI_SOC_CFG_ALL, \
|
||||||
|
CFG_DP_PPEDS_WIFI_SOC_CFG_DEFAULT, \
|
||||||
|
CFG_VALUE_OR_DEFAULT, "PPEDS enable per WiFi SoC")
|
||||||
|
|
||||||
#define CFG_DP_PPEDS_CONFIG \
|
#define CFG_DP_PPEDS_CONFIG \
|
||||||
CFG(CFG_DP_PPEDS_TX_CMP_NAPI_BUDGET) \
|
CFG(CFG_DP_PPEDS_TX_CMP_NAPI_BUDGET) \
|
||||||
CFG(CFG_DP_PPEDS_TX_DESC_HOTLIST_LEN) \
|
CFG(CFG_DP_PPEDS_TX_DESC_HOTLIST_LEN) \
|
||||||
CFG(CFG_DP_PPEDS_TX_DESC) \
|
CFG(CFG_DP_PPEDS_TX_DESC) \
|
||||||
CFG(CFG_DP_PPEDS_ENABLE) \
|
CFG(CFG_DP_PPEDS_ENABLE) \
|
||||||
CFG(CFG_DP_REO2PPE_RING) \
|
CFG(CFG_DP_REO2PPE_RING) \
|
||||||
CFG(CFG_DP_PPE2TCL_RING)
|
CFG(CFG_DP_PPE2TCL_RING) \
|
||||||
|
CFG(CFG_DP_PPEDS_WIFI_SOC_CFG)
|
||||||
#else
|
#else
|
||||||
#define CFG_DP_PPEDS_CONFIG
|
#define CFG_DP_PPEDS_CONFIG
|
||||||
#define WLAN_CFG_NUM_PPEDS_TX_DESC_MAX 0
|
#define WLAN_CFG_NUM_PPEDS_TX_DESC_MAX 0
|
||||||
|
@@ -2664,7 +2664,30 @@ static void
|
|||||||
wlan_soc_ppe_cfg_attach(struct cdp_ctrl_objmgr_psoc *psoc,
|
wlan_soc_ppe_cfg_attach(struct cdp_ctrl_objmgr_psoc *psoc,
|
||||||
struct wlan_cfg_dp_soc_ctxt *wlan_cfg_ctx)
|
struct wlan_cfg_dp_soc_ctxt *wlan_cfg_ctx)
|
||||||
{
|
{
|
||||||
|
uint32_t ppeds_cfg;
|
||||||
|
uint8_t psoc_id;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The CFG_DP_PPEDS_WIFI_SOC_CFG provides WLAN SoC level PPEDS
|
||||||
|
* enable/disable support. The bit map position corresponds to
|
||||||
|
* WLAN SoC position in config/wireless file. With this we can
|
||||||
|
* configure PPEDS for multiple WLAN SoC having same device ID.
|
||||||
|
*/
|
||||||
|
psoc_id = wlan_psoc_get_id((struct wlan_objmgr_psoc *)psoc);
|
||||||
|
ppeds_cfg = cfg_get(psoc, CFG_DP_PPEDS_WIFI_SOC_CFG);
|
||||||
|
if (!(ppeds_cfg & (1 << psoc_id))) {
|
||||||
|
dp_info("ppeds_cfg is disabled for psoc_id %d", psoc_id);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The CFG_DP_PPEDS_ENABLE provides ppeds enable/disable support
|
||||||
|
* based on device ID in corresponding INI file.
|
||||||
|
*/
|
||||||
wlan_cfg_ctx->ppeds_enable = cfg_get(psoc, CFG_DP_PPEDS_ENABLE);
|
wlan_cfg_ctx->ppeds_enable = cfg_get(psoc, CFG_DP_PPEDS_ENABLE);
|
||||||
|
if (!wlan_cfg_ctx->ppeds_enable)
|
||||||
|
return;
|
||||||
|
|
||||||
wlan_cfg_ctx->reo2ppe_ring = cfg_get(psoc, CFG_DP_REO2PPE_RING);
|
wlan_cfg_ctx->reo2ppe_ring = cfg_get(psoc, CFG_DP_REO2PPE_RING);
|
||||||
wlan_cfg_ctx->ppe2tcl_ring = cfg_get(psoc, CFG_DP_PPE2TCL_RING);
|
wlan_cfg_ctx->ppe2tcl_ring = cfg_get(psoc, CFG_DP_PPE2TCL_RING);
|
||||||
wlan_cfg_ctx->ppeds_num_tx_desc = cfg_get(psoc, CFG_DP_PPEDS_TX_DESC);
|
wlan_cfg_ctx->ppeds_num_tx_desc = cfg_get(psoc, CFG_DP_PPEDS_TX_DESC);
|
||||||
|
Viittaa uudesa ongelmassa
Block a user