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
Tento commit je obsažen v:
Dustin Brown
2017-07-18 16:01:25 -07:00
odevzdal snandini
rodič 023e45ae64
revize 8d8d9fe485
9 změnil soubory, kde provedl 136 přidání a 100 odebrání

Zobrazit soubor

@@ -172,15 +172,13 @@ QDF_STATUS pmo_tgt_clear_mc_filter_req(struct wlan_objmgr_vdev *vdev,
/**
* pmo_tgt_send_enhance_multicast_offload_req() - send enhance mc offload req
* @wma_handle: wma handle
* @vdev_id: vdev id
* @vdev: the vdev to configure
* @action: enable or disable enhance multicast offload
*
* Return: QDF_STATUS_SUCCESS on success else error code
*/
QDF_STATUS pmo_tgt_send_enhance_multicast_offload_req(
struct wlan_objmgr_vdev *vdev,
uint8_t vdev_id,
uint8_t action);
/**

Zobrazit soubor

@@ -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