qcacld-3.0: Add enhanced multicast enable/disable APIs

Currently, a hard-coded enhanced multicast filter configuration is being
sent to firmware. Instead, create a set of enable/disable APIs, and
configure enhanced multicast filter based on advertised firmware
capability.

Change-Id: I488b4a921612e1081266be8831be098d755375f9
CRs-Fixed: 2078615
This commit is contained in:
Dustin Brown
2017-07-18 16:01:25 -07:00
committed by snandini
parent 49784b196c
commit 2e6a70e2f1
6 changed files with 118 additions and 87 deletions

View File

@@ -25,6 +25,7 @@
#include "wlan_pmo_arp_public_struct.h"
#include "wlan_pmo_ns_public_struct.h"
#include "wlan_pmo_gtk_public_struct.h"
#include "wlan_pmo_mc_addr_filtering.h"
#include "wlan_pmo_mc_addr_filtering_public_struct.h"
#include "wlan_pmo_wow_public_struct.h"
#include "wlan_pmo_common_public_struct.h"
@@ -228,6 +229,30 @@ QDF_STATUS pmo_ucfg_cache_mc_addr_list(
QDF_STATUS pmo_ucfg_flush_mc_addr_list(struct wlan_objmgr_psoc *psoc,
uint8_t vdev_id);
/**
* pmo_ucfg_enhance_mc_filter_enable() - enable enhanced multicast filtering
* @vdev: the vdev to enable enhanced multicast filtering for
*
* Return: QDF_STATUS
*/
static inline QDF_STATUS
pmo_ucfg_enhanced_mc_filter_enable(struct wlan_objmgr_vdev *vdev)
{
return pmo_core_enhanced_mc_filter_enable(vdev);
}
/**
* pmo_ucfg_enhance_mc_filter_disable() - disable enhanced multicast filtering
* @vdev: the vdev to disable enhanced multicast filtering for
*
* Return: QDF_STATUS
*/
static inline QDF_STATUS
pmo_ucfg_enhanced_mc_filter_disable(struct wlan_objmgr_vdev *vdev)
{
return pmo_core_enhanced_mc_filter_disable(vdev);
}
/**
* pmo_ucfg_enable_mc_addr_filtering_in_fwr(): Enable cached mc add list in fwr
* @psoc: objmgr psoc handle