qcacmn: Delay allocation of rings for monitor mode

In existing implementation, for monitor mode below allocation
are done at pdev attach and init time.

	a. 64 monitor buffer allocation for RxDMA monitor buffer ring
	b. Link descriptor memory allocation for monitor link descriptor ring

This memory is waste of memory for customers not using monitor mode and
low memory profile.

To optimize this memory, allocate all buffers and link descriptor memory
at monitor vdev creation time.

Change-Id: I873c76d2f625a782532a101037915b0353928a5b
CRs-Fixed: 2829402
This commit is contained in:
Amir Patel
2020-12-24 14:34:34 +05:30
committed by snandini
parent d36905a34a
commit 76b9febd3d
7 changed files with 189 additions and 30 deletions

View File

@@ -638,7 +638,8 @@ wlan_cfg_soc_attach(struct cdp_ctrl_objmgr_psoc *psoc)
cfg_get(psoc, CFG_DP_RX_RADIO_2_DEFAULT_REO);
wlan_cfg_ctx->wow_check_rx_pending_enable =
cfg_get(psoc, CFG_DP_WOW_CHECK_RX_PENDING);
wlan_cfg_ctx->delay_mon_replenish = cfg_get(psoc,
CFG_DP_DELAY_MON_REPLENISH);
return wlan_cfg_ctx;
}
@@ -1522,3 +1523,16 @@ bool wlan_cfg_is_dp_force_rx_64_ba(struct wlan_cfg_dp_soc_ctxt *cfg)
{
return cfg->enable_force_rx_64_ba;
}
void
wlan_cfg_set_delay_mon_replenish(struct wlan_cfg_dp_soc_ctxt *cfg,
bool val)
{
cfg->delay_mon_replenish = val;
}
bool
wlan_cfg_is_delay_mon_replenish(struct wlan_cfg_dp_soc_ctxt *cfg)
{
return cfg->delay_mon_replenish;
}