qcacmn: changes to support lithium nss offload

Changes include
1. nss_cfg parameter to dp_soc.
2. nss_enabled field for pdev.
3. cdp api to enabled nss offload config.
4. skip rx ring configuration when nss enabled.
5. skip timter /interrupt configuration if
   nss is enabled.
6. peer map/unmap event hander.

Change-Id: Ic4a919b6b7e846e18cb15ebcb94f8736a751ecb5
This commit is contained in:
Bharat Kumar M 2017-05-08 17:41:42 +05:30 • committed by snandini
commit 9a5d537249
7 changed files with 136 additions and 10 deletions

View file

@ -157,6 +157,7 @@ struct wlan_cfg_dp_soc_ctxt {
int int_ce_ring_mask[WLAN_CFG_INT_NUM_CONTEXTS];
bool lro_enabled;
bool rx_hash;
int nss_cfg;
};
/**
@ -172,6 +173,7 @@ struct wlan_cfg_dp_pdev_ctxt {
int dma_mon_dest_ring_size;
int dma_mon_status_ring_size;
int num_mac_rings;
int nss_enabled;
};
/**
@ -396,3 +398,23 @@ bool wlan_cfg_is_rx_hash_enabled(struct wlan_cfg_dp_soc_ctxt *cfg)
{
return cfg->rx_hash;
}
int wlan_cfg_get_dp_pdev_nss_enabled(struct wlan_cfg_dp_pdev_ctxt *cfg)
{
return cfg->nss_enabled;
}
void wlan_cfg_set_dp_pdev_nss_enabled(struct wlan_cfg_dp_pdev_ctxt *cfg, int nss_enabled)
{
cfg->nss_enabled = nss_enabled;
}
int wlan_cfg_get_dp_soc_nss_cfg(struct wlan_cfg_dp_soc_ctxt *cfg)
{
return cfg->nss_cfg;
}
void wlan_cfg_set_dp_soc_nss_cfg(struct wlan_cfg_dp_soc_ctxt *cfg, int nss_cfg)
{
cfg->nss_cfg = nss_cfg;
}

View file

@ -329,4 +329,32 @@ bool wlan_cfg_is_lro_enabled(struct wlan_cfg_dp_soc_ctxt *cfg);
*/
bool wlan_cfg_is_rx_hash_enabled(struct wlan_cfg_dp_soc_ctxt *cfg);
/*
* wlan_cfg_get_dp_pdev_nss_enabled - Return pdev nss enabled/disabled
* @wlan_cfg_pdev_ctx
*
* Return: 1 - enabled 0 - disabled
*/
int wlan_cfg_get_dp_pdev_nss_enabled(struct wlan_cfg_dp_pdev_ctxt *cfg);
/*
* wlan_cfg_set_dp_pdev_nss_enabled - set pdev nss enabled/disabled
* @wlan_cfg_pdev_ctx
*/
void wlan_cfg_set_dp_pdev_nss_enabled(struct wlan_cfg_dp_pdev_ctxt *cfg, int nss_enabled);
/*
* wlan_cfg_get_dp_soc_nss_cfg - Return soc nss config
* @wlan_cfg_pdev_ctx
*
* Return: nss_cfg
*/
int wlan_cfg_get_dp_soc_nss_cfg(struct wlan_cfg_dp_soc_ctxt *cfg);
/*
* wlan_cfg_set_dp_soc_nss_cfg - set soc nss config
* @wlan_cfg_pdev_ctx
*
*/
void wlan_cfg_set_dp_soc_nss_cfg(struct wlan_cfg_dp_soc_ctxt *cfg, int nss_cfg);
#endif