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
This commit is contained in:
Dustin Brown
2018-03-01 17:15:11 -08:00
committed by nshrivas
parent f1d278041b
commit b9987afb2c
12 changed files with 222 additions and 51 deletions

View File

@@ -20,6 +20,7 @@
*/
#include "wlan_pmo_ucfg_api.h"
#include "wlan_pmo_apf.h"
#include "wlan_pmo_arp.h"
#include "wlan_pmo_ns.h"
#include "wlan_pmo_gtk.h"
@@ -31,6 +32,33 @@
#include "wlan_pmo_pkt_filter.h"
#include "wlan_pmo_hw_filter.h"
uint32_t ucfg_pmo_get_apf_instruction_size(struct wlan_objmgr_psoc *psoc)
{
QDF_BUG(psoc);
if (!psoc)
return 0;
return pmo_get_apf_instruction_size(psoc);
}
uint8_t ucfg_pmo_get_num_packet_filters(struct wlan_objmgr_psoc *psoc)
{
QDF_BUG(psoc);
if (!psoc)
return 0;
return pmo_get_num_packet_filters(psoc);
}
uint8_t ucfg_pmo_get_num_wow_filters(struct wlan_objmgr_psoc *psoc)
{
QDF_BUG(psoc);
if (!psoc)
return 0;
return pmo_get_num_wow_filters(psoc);
}
QDF_STATUS ucfg_pmo_get_psoc_config(struct wlan_objmgr_psoc *psoc,
struct pmo_psoc_cfg *psoc_cfg)
{