qcacld-3.0: Add ini to enable disable igmp offload

enable/disable the IGMP offload feature to FW.

Change-Id: I57241b193598124cba147e86c2d5199c1d5c53ee
CRs-Fixed: 2904964
This commit is contained in:
sheenam monga
2021-03-25 00:41:14 +05:30
committed by snandini
parent 4e1a542e44
commit 70f283c5d8
3 changed files with 36 additions and 0 deletions

View File

@@ -197,12 +197,26 @@ wlan_pmo_get_igmp_version_support_cfg(struct wlan_objmgr_psoc *psoc,
psoc_cfg->igmp_version_support = psoc_cfg->igmp_version_support =
cfg_get(psoc, CFG_IGMP_VERSION_SUPPORT); cfg_get(psoc, CFG_IGMP_VERSION_SUPPORT);
} }
static void
wlan_pmo_get_igmp_offload_enable_cfg(struct wlan_objmgr_psoc *psoc,
struct pmo_psoc_cfg *psoc_cfg)
{
psoc_cfg->igmp_offload_enable = cfg_get(psoc,
CFG_PMO_ENABLE_IGMP_OFFLOAD);
}
#else #else
static void static void
wlan_pmo_get_igmp_version_support_cfg(struct wlan_objmgr_psoc *psoc, wlan_pmo_get_igmp_version_support_cfg(struct wlan_objmgr_psoc *psoc,
struct pmo_psoc_cfg *psoc_cfg) struct pmo_psoc_cfg *psoc_cfg)
{} {}
static void
wlan_pmo_get_igmp_offload_enable_cfg(struct wlan_objmgr_psoc *psoc,
struct pmo_psoc_cfg *psoc_cfg)
{}
#endif #endif
static void wlan_pmo_init_cfg(struct wlan_objmgr_psoc *psoc, static void wlan_pmo_init_cfg(struct wlan_objmgr_psoc *psoc,
struct pmo_psoc_cfg *psoc_cfg) struct pmo_psoc_cfg *psoc_cfg)
{ {
@@ -249,6 +263,7 @@ static void wlan_pmo_init_cfg(struct wlan_objmgr_psoc *psoc,
psoc_cfg->ito_repeat_count = cfg_get(psoc, CFG_ITO_REPEAT_COUNT); psoc_cfg->ito_repeat_count = cfg_get(psoc, CFG_ITO_REPEAT_COUNT);
wlan_pmo_ra_filtering_init_cfg(psoc, psoc_cfg); wlan_pmo_ra_filtering_init_cfg(psoc, psoc_cfg);
wlan_pmo_gpio_wakeup_init_cfg(psoc, psoc_cfg); wlan_pmo_gpio_wakeup_init_cfg(psoc, psoc_cfg);
wlan_pmo_get_igmp_offload_enable_cfg(psoc, psoc_cfg);
} }
QDF_STATUS pmo_psoc_open(struct wlan_objmgr_psoc *psoc) QDF_STATUS pmo_psoc_open(struct wlan_objmgr_psoc *psoc)

View File

@@ -112,6 +112,24 @@
1, \ 1, \
"Enable/disable NS offload") "Enable/disable NS offload")
/*
* <ini>
* CFG_PMO_ENABLE_IGMP_OFFLOAD - Enable/disable igmp offload
* @Min: 0
* @Max: 1
* @Default: 0
*
* This ini is used to enable/disable igmp offload feature to fw.
*
* Usage: External
*
* </ini>
*/
#define CFG_PMO_ENABLE_IGMP_OFFLOAD CFG_INI_BOOL( \
"igmp_offload_enable", \
0, \
"Enable/disable IGMP offload")
/* /*
* <ini> * <ini>
* gEnableDynamicDTIM - Enable Dynamic DTIM * gEnableDynamicDTIM - Enable Dynamic DTIM
@@ -509,6 +527,7 @@
CFG(CFG_PMO_HW_FILTER_MODE) \ CFG(CFG_PMO_HW_FILTER_MODE) \
CFG(CFG_PMO_ENABLE_HOST_SSDP) \ CFG(CFG_PMO_ENABLE_HOST_SSDP) \
CFG(CFG_PMO_ENABLE_HOST_NSOFFLOAD) \ CFG(CFG_PMO_ENABLE_HOST_NSOFFLOAD) \
CFG(CFG_PMO_ENABLE_IGMP_OFFLOAD) \
CFG(CFG_PMO_ENABLE_DYNAMIC_DTIM) \ CFG(CFG_PMO_ENABLE_DYNAMIC_DTIM) \
CFG(CFG_PMO_ENABLE_MODULATED_DTIM) \ CFG(CFG_PMO_ENABLE_MODULATED_DTIM) \
CFG(CFG_PMO_ENABLE_FORCED_DTIM) \ CFG(CFG_PMO_ENABLE_FORCED_DTIM) \

View File

@@ -329,6 +329,7 @@ enum pmo_gpio_wakeup_mode {
* @gpio_wakeup_pin: gpio wakeup pin * @gpio_wakeup_pin: gpio wakeup pin
* @gpio_wakeup_mode: gpio wakeup mode * @gpio_wakeup_mode: gpio wakeup mode
* @igmp_version_support: igmp version support * @igmp_version_support: igmp version support
* @igmp_offload_enable: enable/disable igmp offload feature to fw
*/ */
struct pmo_psoc_cfg { struct pmo_psoc_cfg {
bool ptrn_match_enable_all_vdev; bool ptrn_match_enable_all_vdev;
@@ -402,6 +403,7 @@ struct pmo_psoc_cfg {
#endif #endif
#ifdef WLAN_FEATURE_IGMP_OFFLOAD #ifdef WLAN_FEATURE_IGMP_OFFLOAD
uint32_t igmp_version_support; uint32_t igmp_version_support;
bool igmp_offload_enable;
#endif #endif
}; };