qcacmn: Add support for CFR in adrastea target

Add the init and deinit CFR pdev api for adrastea target type.
cfr_adrastea_init_pdev api enables the CFR feature if both host and
firmware supports the feature, initialises the cfr pdev structure
and streamfs.

Also during allocation of memory requested by firmware, skip smaller
chunks memory allocation for CFR capture requested memory as firmware
expects contiguous memory.

Change-Id: Ib893dc8a845fea990a11e95e98d8a656f7df12ba
CRs-Fixed: 2687057
This commit is contained in:
Surabhi Vishnoi
2020-04-27 15:12:04 +05:30
committed by nshrivas
parent dd686ad391
commit d2c2a6aec6
7 changed files with 256 additions and 4 deletions

View File

@@ -22,6 +22,7 @@
#include <wlan_objmgr_peer_obj.h>
#include <wlan_objmgr_pdev_obj.h>
#include <wlan_cfr_public_structs.h>
#include <wlan_cfr_utils_api.h>
#define MAX_CFR_PRD (10*60*1000) /* 10 minutes */

View File

@@ -44,6 +44,8 @@
#define DBR_EVENT_TIMEOUT_IN_MS_CFR 1
#define DBR_NUM_RESP_PER_EVENT_CFR 1
#define MAX_CFR_ENABLED_CLIENTS 10
#define CFR_CAPTURE_HOST_MEM_REQ_ID 9
#define CFR_HOST_MEM_READ_INDEX_DEFAULT 8
#ifdef WLAN_ENH_CFR_ENABLE
#define MAX_CFR_MU_USERS 4
#define NUM_CHAN_CAPTURE_STATUS 4
@@ -93,6 +95,7 @@ enum cfrradiotype {
CFR_CAPTURE_RADIO_CYP,
CFR_CAPTURE_RADIO_HSP,
CFR_CAPTURE_RADIO_PINE,
CFR_CAPTURE_RADIO_ADRASTEA,
CFR_CAPTURE_RADIO_MAX = 0xFF,
};
@@ -234,7 +237,7 @@ struct psoc_cfr {
*/
struct cfr_wmi_host_mem_chunk {
uint32_t *vaddr;
uint32_t paddr;
qdf_dma_addr_t paddr;
uint32_t len;
uint32_t req_id;
};