qcacld-3.0: Update firmware filter config (part 2)

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
	num_packet_filter = Packet Filter enabled ? 12 : 0xffffffff

Change-Id: Ie8cb4ae44c83b115b249e22ebd7146278ed70612
CRs-Fixed: 2199297
This commit is contained in:
Dustin Brown
2018-03-02 11:11:34 -08:00
committed by nshrivas
szülő c2bc570e80
commit 67d69ebbfd
5 fájl változott, egészen pontosan 6 új sor hozzáadva és 5 régi sor törölve

Fájl megtekintése

@@ -32,7 +32,7 @@ struct wlan_objmgr_psoc;
* *
* Return: number of packet filters * Return: number of packet filters
*/ */
uint8_t pmo_get_num_packet_filters(struct wlan_objmgr_psoc *psoc); uint32_t pmo_get_num_packet_filters(struct wlan_objmgr_psoc *psoc);
/** /**
* pmo_set_pkt_fltr_req() - Set packet filter * pmo_set_pkt_fltr_req() - Set packet filter

Fájl megtekintése

@@ -25,9 +25,9 @@
#include "wlan_pmo_obj_mgmt_public_struct.h" #include "wlan_pmo_obj_mgmt_public_struct.h"
#define PMO_PKT_FILTERS_DEFAULT 12 #define PMO_PKT_FILTERS_DEFAULT 12
#define PMO_PKT_FILTERS_DISABLED 0 #define PMO_PKT_FILTERS_DISABLED 0xffffffff
uint8_t pmo_get_num_packet_filters(struct wlan_objmgr_psoc *psoc) uint32_t pmo_get_num_packet_filters(struct wlan_objmgr_psoc *psoc)
{ {
struct pmo_psoc_priv_obj *psoc_ctx; struct pmo_psoc_priv_obj *psoc_ctx;
bool pkt_filter = false; bool pkt_filter = false;

Fájl megtekintése

@@ -47,7 +47,7 @@ uint32_t ucfg_pmo_get_apf_instruction_size(struct wlan_objmgr_psoc *psoc);
* *
* Return: number of packet filters * Return: number of packet filters
*/ */
uint8_t ucfg_pmo_get_num_packet_filters(struct wlan_objmgr_psoc *psoc); uint32_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 * ucfg_pmo_get_num_wow_filters() - get the supported number of WoW filters

Fájl megtekintése

@@ -41,7 +41,7 @@ uint32_t ucfg_pmo_get_apf_instruction_size(struct wlan_objmgr_psoc *psoc)
return pmo_get_apf_instruction_size(psoc); return pmo_get_apf_instruction_size(psoc);
} }
uint8_t ucfg_pmo_get_num_packet_filters(struct wlan_objmgr_psoc *psoc) uint32_t ucfg_pmo_get_num_packet_filters(struct wlan_objmgr_psoc *psoc)
{ {
QDF_BUG(psoc); QDF_BUG(psoc);
if (!psoc) if (!psoc)

Fájl megtekintése

@@ -4566,6 +4566,7 @@ static void wma_update_fw_config(struct wlan_objmgr_psoc *psoc,
cfg->num_wow_filters = ucfg_pmo_get_num_wow_filters(psoc); cfg->num_wow_filters = ucfg_pmo_get_num_wow_filters(psoc);
cfg->bpf_instruction_size = ucfg_pmo_get_apf_instruction_size(psoc); cfg->bpf_instruction_size = ucfg_pmo_get_apf_instruction_size(psoc);
cfg->num_packet_filters = ucfg_pmo_get_num_packet_filters(psoc);
} }
/** /**