ソースを参照

qcacld-3.0: Add ini to enable disable igmp offload

enable/disable the IGMP offload feature to FW.

Change-Id: I57241b193598124cba147e86c2d5199c1d5c53ee
CRs-Fixed: 2904964
sheenam monga 4 年 前
コミット
70f283c5d8

+ 15 - 0
components/pmo/core/src/wlan_pmo_main.c

@@ -197,12 +197,26 @@ wlan_pmo_get_igmp_version_support_cfg(struct wlan_objmgr_psoc *psoc,
 	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
 static void
 wlan_pmo_get_igmp_version_support_cfg(struct wlan_objmgr_psoc *psoc,
 				      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
+
 static void wlan_pmo_init_cfg(struct wlan_objmgr_psoc *psoc,
 			      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);
 	wlan_pmo_ra_filtering_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)

+ 19 - 0
components/pmo/dispatcher/inc/wlan_pmo_common_cfg.h

@@ -112,6 +112,24 @@
 	1, \
 	"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>
  * gEnableDynamicDTIM - Enable Dynamic DTIM
@@ -509,6 +527,7 @@
 	CFG(CFG_PMO_HW_FILTER_MODE) \
 	CFG(CFG_PMO_ENABLE_HOST_SSDP) \
 	CFG(CFG_PMO_ENABLE_HOST_NSOFFLOAD) \
+	CFG(CFG_PMO_ENABLE_IGMP_OFFLOAD) \
 	CFG(CFG_PMO_ENABLE_DYNAMIC_DTIM) \
 	CFG(CFG_PMO_ENABLE_MODULATED_DTIM) \
 	CFG(CFG_PMO_ENABLE_FORCED_DTIM) \

+ 2 - 0
components/pmo/dispatcher/inc/wlan_pmo_common_public_struct.h

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