qcacld-3.0: Add support for set multicast filter command
Add support for WMI_SET_MULTIPLE_MCAST_FILTER_CMDID command that can add/delete multiple mcast filters. CRs-Fixed: 2096595 Change-Id: I3dc93c603a5a6676d97b5911a716277c7bef0ef8
这个提交包含在:
@@ -30,6 +30,7 @@
|
||||
#include "wlan_pmo_common_public_struct.h"
|
||||
|
||||
#define PMO_MAX_MC_ADDR_LIST 32
|
||||
#define PMO_MAX_NUM_MULTICAST_ADDRESS 240
|
||||
|
||||
/**
|
||||
* struct pmo_mc_addr_list_params -pmo mc address list request params
|
||||
@@ -57,4 +58,15 @@ struct pmo_mc_addr_list {
|
||||
struct qdf_mac_addr mc_addr[PMO_MAX_MC_ADDR_LIST];
|
||||
};
|
||||
|
||||
/**
|
||||
* struct mcast_filter_params - mcast filter parameters
|
||||
* @multicast_addr_cnt: num of addresses
|
||||
* @multicast_addr: address array
|
||||
* @action: operation to perform
|
||||
*/
|
||||
struct pmo_mcast_filter_params {
|
||||
uint32_t multicast_addr_cnt;
|
||||
struct qdf_mac_addr multicast_addr[PMO_MAX_NUM_MULTICAST_ADDRESS];
|
||||
uint8_t action;
|
||||
};
|
||||
#endif /* end of _WLAN_PMO_MC_ADDR_FILTERING_STRUCT_H_ */
|
||||
|
@@ -78,6 +78,9 @@ int (*pmo_pld_auto_resume_cb)(void);
|
||||
* @send_enhance_mc_offload_req: fp to send enhanced multicast offload request
|
||||
* @send_set_mc_filter_req: fp to send set mc filter request
|
||||
* @send_clear_mc_filter_req: fp to send clear mc filter request
|
||||
* @get_multiple_mc_filter_support: fp to get mc filter support
|
||||
* @send_set_multiple_mc_filter_req: fp to send set multiple mc filter request
|
||||
* @send_clear_multiple_mc_filter_req: fp to send clear multiple mc filter req
|
||||
* @send_ra_filter_req: fp to send ra filter request
|
||||
* @send_gtk_offload_req: fp to send gtk offload request command
|
||||
* @send_get_gtk_rsp_cmd: fp to send get gtk response request cmd to firmware
|
||||
@@ -134,6 +137,14 @@ struct wlan_pmo_tx_ops {
|
||||
QDF_STATUS (*send_clear_mc_filter_req)(
|
||||
struct wlan_objmgr_vdev *vdev,
|
||||
struct qdf_mac_addr multicast_addr);
|
||||
bool (*get_multiple_mc_filter_support)(
|
||||
struct wlan_objmgr_psoc *psoc);
|
||||
QDF_STATUS(*send_set_multiple_mc_filter_req)(
|
||||
struct wlan_objmgr_vdev *vdev,
|
||||
struct pmo_mc_addr_list *mc_list);
|
||||
QDF_STATUS(*send_clear_multiple_mc_filter_req)(
|
||||
struct wlan_objmgr_vdev *vdev,
|
||||
struct pmo_mc_addr_list *mc_list);
|
||||
QDF_STATUS (*send_ra_filter_req)(
|
||||
struct wlan_objmgr_vdev *vdev,
|
||||
uint8_t default_pattern, uint16_t rate_limit_interval);
|
||||
|
@@ -170,6 +170,35 @@ QDF_STATUS pmo_tgt_set_mc_filter_req(struct wlan_objmgr_vdev *vdev,
|
||||
QDF_STATUS pmo_tgt_clear_mc_filter_req(struct wlan_objmgr_vdev *vdev,
|
||||
struct qdf_mac_addr multicast_addr);
|
||||
|
||||
/**
|
||||
* pmo_tgt_get_multiple_mc_filter_support() - get multiple mcast filter support
|
||||
* @vdev: objmgr vdev
|
||||
*
|
||||
* Return: true if FW supports else false
|
||||
*/
|
||||
bool pmo_tgt_get_multiple_mc_filter_support(struct wlan_objmgr_vdev *vdev);
|
||||
|
||||
/**
|
||||
* pmo_tgt_set_multiple_mc_filter_req() - Set multiple mcast filter cmd to fw
|
||||
* @vdev: objmgr vdev
|
||||
* @mc_list: mcast address list
|
||||
*
|
||||
* Return: QDF_STATUS_SUCCESS for success or error code
|
||||
*/
|
||||
QDF_STATUS pmo_tgt_set_multiple_mc_filter_req(struct wlan_objmgr_vdev *vdev,
|
||||
struct pmo_mc_addr_list *mc_list);
|
||||
|
||||
/**
|
||||
* pmo_tgt_clear_multiple_mc_filter_req() - clear multiple mcast filter
|
||||
* to fw
|
||||
* @vdev: objmgr vdev
|
||||
* @mc_list: mcast address list
|
||||
*
|
||||
* Return: QDF_STATUS_SUCCESS for success or error code
|
||||
*/
|
||||
QDF_STATUS pmo_tgt_clear_multiple_mc_filter_req(struct wlan_objmgr_vdev *vdev,
|
||||
struct pmo_mc_addr_list *mc_list);
|
||||
|
||||
/**
|
||||
* pmo_tgt_send_enhance_multicast_offload_req() - send enhance mc offload req
|
||||
* @vdev: the vdev to configure
|
||||
|
在新工单中引用
屏蔽一个用户