qcacld-3.0: Update firmware filter config (part 1)
In order to conserve firmware memory when various filtering features are not in use, update the target configuration provided to firmware based on the intersection of various filtering features and host configuration. Part 1 num_wow_filters = ARP/NS offload enabled ? 2 : 5 bpf_instruction_size - BPF enabled ? 0 (auto) : 0xffffffff Part 2 (pending firmware support) pkt_filter_num = Packet Filter enabled ? 12 : 0 (disabled) Change-Id: Ic6624ff04598b53d8321e4864618b12b9702780f CRs-Fixed: 2196997
这个提交包含在:
@@ -261,12 +261,13 @@ enum pmo_auto_pwr_detect_failure_mode {
|
||||
* struct pmo_psoc_cfg - user configuration required for pmo
|
||||
* @ptrn_match_enable_all_vdev: true when pattern match is enable for all vdev
|
||||
* @ptrn_id_per_vdev: true when pattern id can be same for different vdev
|
||||
* @bpf_enable: true if psoc supports bpf else false
|
||||
* @apf_enable: true if psoc supports bpf else false
|
||||
* @arp_offload_enable: true if arp offload is supported for psoc else false
|
||||
* @hw_filter_mode: which mode the hardware filter should use during DTIM
|
||||
* @ns_offload_enable_static: true if psoc supports ns offload in ini else false
|
||||
* @ns_offload_enable_dynamic: to enable / disable the ns offload using
|
||||
* ioctl or vendor command.
|
||||
* @packet_filter_enabled: true if feature is enabled by configuration
|
||||
* @ssdp: true if psoc supports if ssdp configuration in wow mode
|
||||
* @enable_mc_list: true if psoc supports mc addr list else false
|
||||
* @active_mode_offload: true if psoc supports active mode offload else false
|
||||
@@ -290,11 +291,12 @@ enum pmo_auto_pwr_detect_failure_mode {
|
||||
struct pmo_psoc_cfg {
|
||||
bool ptrn_match_enable_all_vdev;
|
||||
bool ptrn_id_per_vdev;
|
||||
bool bpf_enable;
|
||||
bool apf_enable;
|
||||
bool arp_offload_enable;
|
||||
enum pmo_hw_filter_mode hw_filter_mode;
|
||||
bool ns_offload_enable_static;
|
||||
bool ns_offload_enable_dynamic;
|
||||
bool packet_filter_enabled;
|
||||
bool ssdp;
|
||||
bool enable_mc_list;
|
||||
bool active_mode_offload;
|
||||
|
@@ -33,6 +33,30 @@
|
||||
#include "wlan_pmo_pkt_filter_public_struct.h"
|
||||
#include "wlan_pmo_hw_filter_public_struct.h"
|
||||
|
||||
/**
|
||||
* ucfg_pmo_get_apf_instruction_size() - get the current APF instruction size
|
||||
* @psoc: the psoc to query
|
||||
*
|
||||
* Return: APF instruction size
|
||||
*/
|
||||
uint32_t ucfg_pmo_get_apf_instruction_size(struct wlan_objmgr_psoc *psoc);
|
||||
|
||||
/**
|
||||
* ucfg_pmo_get_num_packet_filters() - get the number of packet filters
|
||||
* @psoc: the psoc to query
|
||||
*
|
||||
* Return: number of packet filters
|
||||
*/
|
||||
uint8_t ucfg_pmo_get_num_packet_filters(struct wlan_objmgr_psoc *psoc);
|
||||
|
||||
/**
|
||||
* ucfg_pmo_get_num_wow_filters() - get the supported number of WoW filters
|
||||
* @psoc: the psoc to query
|
||||
*
|
||||
* Return: number of WoW filters supported
|
||||
*/
|
||||
uint8_t ucfg_pmo_get_num_wow_filters(struct wlan_objmgr_psoc *psoc);
|
||||
|
||||
/**
|
||||
* ucfg_pmo_is_ap_mode_supports_arp_ns() - Check ap mode support arp&ns offload
|
||||
* @psoc: objmgr psoc
|
||||
|
在新工单中引用
屏蔽一个用户