qcacmn: Add APIs to configure Active BPF Mode

Active Mode Berkeley Packet Filter (Active BPF) is a new feature that
allows firmware to apply BPF even while the Apps processor is active.
There are 3 modes:
 * Disabled: do not apply BPF in active mode
 * Enabled: apply BPF to all packets in active mode
 * Adaptive: apply BPF up to some threshold to avoid performance impact

Add WMI APIs and related logic to support configuration of Active BPF
Mode.

Change-Id: I8c0778b3fa73d148422aa103b0fc0950433fec95
CRs-Fixed: 1111400
This commit is contained in:
Dustin Brown
2017-01-13 15:24:07 -08:00
committed by qcabuildsw
parent 79fdae4e69
commit 4def31691f
3 changed files with 31 additions and 0 deletions

View File

@@ -858,6 +858,19 @@ QDF_STATUS wmi_unified_get_buf_extscan_hotlist_cmd(void *wmi_hdl,
struct ext_scan_setbssi_hotlist_params *
photlist, int *buf_len);
/**
* wmi_unified_set_active_bpf_mode_cmd() - config active BPF mode in FW
* @wmi_hdl: the WMI handle
* @vdev_id: the Id of the vdev to apply the configuration to
* @ucast_mode: the active BPF mode to configure for unicast packets
* @mcast_bcast_mode: the active BPF mode to configure for multicast/broadcast
* packets
*/
QDF_STATUS wmi_unified_set_active_bpf_mode_cmd(void *wmi_hdl,
uint8_t vdev_id,
enum wmi_host_active_bpf_mode ucast_mode,
enum wmi_host_active_bpf_mode mcast_bcast_mode);
QDF_STATUS wmi_unified_stats_request_send(void *wmi_hdl,
uint8_t macaddr[IEEE80211_ADDR_LEN],
struct stats_request_params *param);