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:
@@ -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);
|
||||
|
@@ -7245,4 +7245,17 @@ struct pdev_csa_switch_count_status {
|
||||
uint32_t *vdev_ids;
|
||||
};
|
||||
|
||||
/**
|
||||
* enum wmi_host_active-bpf_mode - FW_ACTIVE_BPF_MODE, replicated from FW header
|
||||
* @WMI_HOST_ACTIVE_BPF_DISABLED: BPF is disabled for all packets in active mode
|
||||
* @WMI_HOST_ACTIVE_BPF_ENABLED: BPF is enabled for all packets in active mode
|
||||
* @WMI_HOST_ACTIVE_BPF_ADAPTIVE: BPF is enabled for packets up to some
|
||||
* threshold in active mode
|
||||
*/
|
||||
enum wmi_host_active_bpf_mode {
|
||||
WMI_HOST_ACTIVE_BPF_DISABLED = (1 << 1),
|
||||
WMI_HOST_ACTIVE_BPF_ENABLED = (1 << 2),
|
||||
WMI_HOST_ACTIVE_BPF_ADAPTIVE = (1 << 3)
|
||||
};
|
||||
|
||||
#endif /* _WMI_UNIFIED_PARAM_H_ */
|
||||
|
@@ -724,6 +724,11 @@ QDF_STATUS (*send_get_buf_extscan_hotlist_cmd)(wmi_unified_t wmi_handle,
|
||||
struct ext_scan_setbssi_hotlist_params *
|
||||
photlist, int *buf_len);
|
||||
|
||||
QDF_STATUS (*send_set_active_bpf_mode_cmd)(wmi_unified_t wmi_handle,
|
||||
uint8_t vdev_id,
|
||||
enum wmi_host_active_bpf_mode ucast_mode,
|
||||
enum wmi_host_active_bpf_mode mcast_bcast_mode);
|
||||
|
||||
QDF_STATUS (*send_pdev_get_tpc_config_cmd)(wmi_unified_t wmi_handle,
|
||||
uint32_t param);
|
||||
|
||||
|
Reference in New Issue
Block a user