qcacmn: Move CFR to common project

Move CFR to common project and rename the files as it will
be shared with other targets as well. Fix checkpatch errors
too.

Change-Id: I66481848036212aedab74c9c18848070ac1a3511
This commit is contained in:
Shwetha G K
2021-04-29 16:40:12 +05:30
committed by Madan Koyyalamudi
parent 3c632fd1e3
commit 550f97cf8a
4 changed files with 87 additions and 87 deletions

View File

@@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2019-2020 The Linux Foundation. All rights reserved. * Copyright (c) 2019-2021 The Linux Foundation. All rights reserved.
* *
* Permission to use, copy, modify, and/or distribute this software for * Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the * any purpose with or without fee is hereby granted, provided that the
@@ -16,8 +16,8 @@
* PERFORMANCE OF THIS SOFTWARE. * PERFORMANCE OF THIS SOFTWARE.
*/ */
#ifndef _TARGET_IF_CFR_8072V2_H_ #ifndef _TARGET_IF_CFR_DBR_H_
#define _TARGET_IF_CFR_8072V2_H_ #define _TARGET_IF_CFR_DBR_H_
#define STREAMFS_MAX_SUBBUF_8S 8500 #define STREAMFS_MAX_SUBBUF_8S 8500
#define STREAMFS_NUM_SUBBUF_8S 255 #define STREAMFS_NUM_SUBBUF_8S 255

View File

@@ -32,7 +32,7 @@
#include "target_if_cfr_adrastea.h" #include "target_if_cfr_adrastea.h"
#include "wlan_reg_services_api.h" #include "wlan_reg_services_api.h"
#else #else
#include <target_if_cfr_8074v2.h> #include <target_if_cfr_dbr.h>
#endif #endif
int target_if_cfr_stop_capture(struct wlan_objmgr_pdev *pdev, int target_if_cfr_stop_capture(struct wlan_objmgr_pdev *pdev,

View File

@@ -27,7 +27,7 @@
#include <wlan_mlme_dispatcher.h> #include <wlan_mlme_dispatcher.h>
#include <init_deinit_lmac.h> #include <init_deinit_lmac.h>
#include <wlan_cfr_utils_api.h> #include <wlan_cfr_utils_api.h>
#include <target_if_cfr_8074v2.h> #include <target_if_cfr_dbr.h>
#ifdef DIRECT_BUF_RX_ENABLE #ifdef DIRECT_BUF_RX_ENABLE
#include <target_if_direct_buf_rx_api.h> #include <target_if_direct_buf_rx_api.h>
#endif #endif
@@ -40,6 +40,7 @@ int dump_lut(struct wlan_objmgr_pdev *pdev)
struct pdev_cfr *pdev_cfrobj; struct pdev_cfr *pdev_cfrobj;
struct look_up_table *lut = NULL; struct look_up_table *lut = NULL;
int i = 0; int i = 0;
pdev_cfrobj = wlan_objmgr_pdev_get_comp_private_obj(pdev, pdev_cfrobj = wlan_objmgr_pdev_get_comp_private_obj(pdev,
WLAN_UMAC_COMP_CFR); WLAN_UMAC_COMP_CFR);
if (!pdev_cfrobj) { if (!pdev_cfrobj) {
@@ -133,11 +134,12 @@ int correlate_and_relay(struct wlan_objmgr_pdev *pdev, uint32_t cookie,
struct look_up_table *lut, uint8_t module_id) struct look_up_table *lut, uint8_t module_id)
{ {
struct pdev_cfr *pdev_cfrobj; struct pdev_cfr *pdev_cfrobj;
int status = STATUS_ERROR;
if (module_id > 1) { if (module_id > 1) {
cfr_err("Received request with invalid mod id. Investigate!!"); cfr_err("Received request with invalid mod id. Investigate!!");
QDF_ASSERT(0); QDF_ASSERT(0);
return STATUS_ERROR; return status;
} }
pdev_cfrobj = wlan_objmgr_pdev_get_comp_private_obj(pdev, pdev_cfrobj = wlan_objmgr_pdev_get_comp_private_obj(pdev,
@@ -151,10 +153,10 @@ int correlate_and_relay(struct wlan_objmgr_pdev *pdev, uint32_t cookie,
lut->dbr_recv = true; lut->dbr_recv = true;
} }
if ((lut->dbr_recv == true) && (lut->tx_recv == true)) { if (lut->dbr_recv && lut->tx_recv) {
if (lut->dbr_ppdu_id == lut->tx_ppdu_id) { if (lut->dbr_ppdu_id == lut->tx_ppdu_id) {
pdev_cfrobj->release_cnt++; pdev_cfrobj->release_cnt++;
return STATUS_STREAM_AND_RELEASE; status = STATUS_STREAM_AND_RELEASE;
} else { } else {
/* /*
* When there is a ppdu id mismatch, discard the other * When there is a ppdu id mismatch, discard the other
@@ -167,7 +169,8 @@ int correlate_and_relay(struct wlan_objmgr_pdev *pdev, uint32_t cookie,
lut->data = NULL; lut->data = NULL;
lut->data_len = 0; lut->data_len = 0;
lut->dbr_ppdu_id = 0; lut->dbr_ppdu_id = 0;
qdf_mem_zero(&lut->dbr_address, sizeof(lut->dbr_address)); qdf_mem_zero(&lut->dbr_address,
sizeof(lut->dbr_address));
} else if (module_id == CORRELATE_DBR_MODULE_ID) { } else if (module_id == CORRELATE_DBR_MODULE_ID) {
cfr_debug("Received new dbr event for same cookie %u", cfr_debug("Received new dbr event for same cookie %u",
cookie); cookie);
@@ -192,18 +195,19 @@ int correlate_and_relay(struct wlan_objmgr_pdev *pdev, uint32_t cookie,
dump_lut(pdev); dump_lut(pdev);
dump_dma_hdr(&lut->dma_hdr, 1); dump_dma_hdr(&lut->dma_hdr, 1);
cfr_err("correlation_info1: 0x%08x correlation_info2 0x%08x", cfr_err("correlation_info1: 0x%08x correlation_info2 0x%08x",
lut->tx_address1, lut->tx_address2); lut->tx_address1, lut->tx_address2);
} }
status = STATUS_HOLD;
return STATUS_HOLD;
} }
} else { } else {
return STATUS_HOLD; status = STATUS_HOLD;
} }
return status;
} }
bool cfr_dbr_event_handler(struct wlan_objmgr_pdev *pdev, bool cfr_dbr_event_handler(struct wlan_objmgr_pdev *pdev,
struct direct_buf_rx_data *payload) struct direct_buf_rx_data *payload)
{ {
uint8_t *data = NULL; uint8_t *data = NULL;
uint32_t cookie = 0; uint32_t cookie = 0;
@@ -214,6 +218,7 @@ bool cfr_dbr_event_handler(struct wlan_objmgr_pdev *pdev,
struct look_up_table *lut = NULL; struct look_up_table *lut = NULL;
struct csi_cfr_header *header = NULL; struct csi_cfr_header *header = NULL;
struct wlan_lmac_if_rx_ops *rx_ops; struct wlan_lmac_if_rx_ops *rx_ops;
bool ret = true;
if ((!pdev) || (!payload)) { if ((!pdev) || (!payload)) {
cfr_err("pdev or payload is null"); cfr_err("pdev or payload is null");
@@ -272,21 +277,23 @@ bool cfr_dbr_event_handler(struct wlan_objmgr_pdev *pdev,
return true; return true;
} }
status = rx_ops->cfr_rx_ops.cfr_info_send(pdev, &lut->header, status = rx_ops->cfr_rx_ops.cfr_info_send
sizeof(struct csi_cfr_header), (pdev, &lut->header,
lut->data, lut->data_len, &end_magic, 4); sizeof(struct csi_cfr_header),
lut->data, lut->data_len,
&end_magic, 4);
release_lut_entry(pdev, lut); release_lut_entry(pdev, lut);
cfr_debug("Data sent to upper layers, released look up table"); cfr_debug("Data sent to upper layers, released look up table");
return true; ret = true;
} else if (status == STATUS_HOLD) { } else if (status == STATUS_HOLD) {
cfr_debug("Tx event not received yet. Buffer is not released"); cfr_debug("Tx event not received yet. Buffer is not released");
return false; ret = false;
} else { } else {
cfr_err("Correlation returned invalid status!!"); cfr_err("Correlation returned invalid status!!");
return true; ret = true;
} }
return true; return ret;
} }
void dump_cfr_peer_tx_event(wmi_cfr_peer_tx_event_param *event) void dump_cfr_peer_tx_event(wmi_cfr_peer_tx_event_param *event)
@@ -316,7 +323,7 @@ void dump_cfr_peer_tx_event(wmi_cfr_peer_tx_event_param *event)
cfr_debug("rtt_cfo_measurement: %d\n", event->cfo_measurement); cfr_debug("rtt_cfo_measurement: %d\n", event->cfo_measurement);
cfr_debug("rx_start_ts: %u \n", event->rx_start_ts); cfr_debug("rx_start_ts: %u\n", event->rx_start_ts);
cfr_debug("agc_gain0: %u agc_gain1: %u agc_gain2: %u agc_gain3: %u\n" cfr_debug("agc_gain0: %u agc_gain1: %u agc_gain2: %u agc_gain3: %u\n"
"agc_gain4: %u agc_gain5: %u agc_gain6: %u agc_gain7: %u\n", "agc_gain4: %u agc_gain5: %u agc_gain6: %u agc_gain7: %u\n",
@@ -327,14 +334,13 @@ void dump_cfr_peer_tx_event(wmi_cfr_peer_tx_event_param *event)
} }
void prepare_cfr_header_txstatus(wmi_cfr_peer_tx_event_param *tx_evt_param, void prepare_cfr_header_txstatus(wmi_cfr_peer_tx_event_param *tx_evt_param,
struct csi_cfr_header *header) struct csi_cfr_header *header)
{ {
target_if_cfr_fill_header(header, false, target_type, false); target_if_cfr_fill_header(header, false, target_type, false);
header->u.meta_v4.status = 0; /* failure */ header->u.meta_v4.status = 0; /* failure */
header->u.meta_v4.length = 0; header->u.meta_v4.length = 0;
qdf_mem_copy(&header->u.meta_v4.peer_addr[0], qdf_mem_copy(&header->u.meta_v4.peer_addr[0],
&tx_evt_param->peer_mac_addr.bytes[0], QDF_MAC_ADDR_SIZE); &tx_evt_param->peer_mac_addr.bytes[0], QDF_MAC_ADDR_SIZE);
} }
static int static int
@@ -382,7 +388,6 @@ target_if_peer_capture_event(ol_scn_t sc, uint8_t *data, uint32_t datalen)
return -EINVAL; return -EINVAL;
} }
retval = wmi_extract_cfr_peer_tx_event_param(wmi_handle, data, retval = wmi_extract_cfr_peer_tx_event_param(wmi_handle, data,
&tx_evt_param); &tx_evt_param);
@@ -411,7 +416,7 @@ target_if_peer_capture_event(ol_scn_t sc, uint8_t *data, uint32_t datalen)
} }
retval = wlan_objmgr_pdev_try_get_ref(pdev, WLAN_CFR_ID); retval = wlan_objmgr_pdev_try_get_ref(pdev, WLAN_CFR_ID);
if (retval != QDF_STATUS_SUCCESS){ if (retval != QDF_STATUS_SUCCESS) {
cfr_err("failed to get pdev reference"); cfr_err("failed to get pdev reference");
wlan_objmgr_psoc_release_ref(psoc, WLAN_CFR_ID); wlan_objmgr_psoc_release_ref(psoc, WLAN_CFR_ID);
wlan_objmgr_vdev_release_ref(vdev, WLAN_CFR_ID); wlan_objmgr_vdev_release_ref(vdev, WLAN_CFR_ID);
@@ -451,7 +456,8 @@ target_if_peer_capture_event(ol_scn_t sc, uint8_t *data, uint32_t datalen)
} }
buf_addr_temp = (tx_evt_param.correlation_info_2 & 0x0f); buf_addr_temp = (tx_evt_param.correlation_info_2 & 0x0f);
buf_addr = (tx_evt_param.correlation_info_1 |((uint64_t)buf_addr_temp << 32)); buf_addr = (tx_evt_param.correlation_info_1 |
((uint64_t)buf_addr_temp << 32));
if (target_if_dbr_cookie_lookup(pdev, DBR_MODULE_CFR, buf_addr, if (target_if_dbr_cookie_lookup(pdev, DBR_MODULE_CFR, buf_addr,
&cookie, 0)) { &cookie, 0)) {
@@ -538,7 +544,6 @@ done:
wlan_objmgr_vdev_release_ref(vdev, WLAN_CFR_ID); wlan_objmgr_vdev_release_ref(vdev, WLAN_CFR_ID);
wlan_objmgr_pdev_release_ref(pdev, WLAN_CFR_ID); wlan_objmgr_pdev_release_ref(pdev, WLAN_CFR_ID);
return status; return status;
} }
#else #else
static int static int
@@ -661,7 +666,7 @@ target_if_dbr_get_ring_params(struct wlan_objmgr_pdev *pdev)
dbr_tx_ops = &tx_ops->dbr_tx_ops; dbr_tx_ops = &tx_ops->dbr_tx_ops;
if(dbr_tx_ops->direct_buf_rx_get_ring_params) if (dbr_tx_ops->direct_buf_rx_get_ring_params)
dbr_tx_ops->direct_buf_rx_get_ring_params(pdev, param, dbr_tx_ops->direct_buf_rx_get_ring_params(pdev, param,
DBR_MODULE_CFR, 0); DBR_MODULE_CFR, 0);
return param; return param;
@@ -687,7 +692,7 @@ target_if_dbr_get_ring_params(struct wlan_objmgr_pdev *pdev)
#endif #endif
QDF_STATUS cfr_8074v2_init_pdev(struct wlan_objmgr_psoc *psoc, QDF_STATUS cfr_8074v2_init_pdev(struct wlan_objmgr_psoc *psoc,
struct wlan_objmgr_pdev *pdev) struct wlan_objmgr_pdev *pdev)
{ {
QDF_STATUS status; QDF_STATUS status;
struct pdev_cfr *pdev_cfrobj; struct pdev_cfr *pdev_cfrobj;
@@ -719,14 +724,13 @@ QDF_STATUS cfr_8074v2_init_pdev(struct wlan_objmgr_psoc *psoc,
} }
QDF_STATUS cfr_8074v2_deinit_pdev(struct wlan_objmgr_psoc *psoc, QDF_STATUS cfr_8074v2_deinit_pdev(struct wlan_objmgr_psoc *psoc,
struct wlan_objmgr_pdev *pdev) struct wlan_objmgr_pdev *pdev)
{ {
QDF_STATUS status; QDF_STATUS status;
status = target_if_unregister_to_dbr(pdev); status = target_if_unregister_to_dbr(pdev);
if (QDF_STATUS_SUCCESS != status) { if (QDF_STATUS_SUCCESS != status)
cfr_err("Failed to register with dbr"); cfr_err("Failed to register with dbr");
}
status = target_if_unregister_tx_completion_event_handler(psoc); status = target_if_unregister_tx_completion_event_handler(psoc);
return status; return status;

View File

@@ -44,7 +44,6 @@
#define NUM_SUBBUF_4S 1100 #define NUM_SUBBUF_4S 1100
#define MAX_CFR_CLIENTS_LEGACY 10 #define MAX_CFR_CLIENTS_LEGACY 10
static u_int8_t * static u_int8_t *
target_if_mac_addr_deswizzle(u_int8_t *tgt_mac_addr, u_int8_t *buffer) target_if_mac_addr_deswizzle(u_int8_t *tgt_mac_addr, u_int8_t *buffer)
{ {
@@ -75,7 +74,8 @@ target_if_mac_addr_deswizzle(u_int8_t *tgt_mac_addr, u_int8_t *buffer)
} }
QDF_STATUS ol_txrx_htt_cfr_rx_ind_handler(void *pdev_ptr, QDF_STATUS ol_txrx_htt_cfr_rx_ind_handler(void *pdev_ptr,
uint32_t *msg_word, size_t msg_len) uint32_t *msg_word,
size_t msg_len)
{ {
struct wlan_objmgr_pdev *pdev; struct wlan_objmgr_pdev *pdev;
struct wlan_objmgr_psoc *psoc; struct wlan_objmgr_psoc *psoc;
@@ -87,7 +87,6 @@ QDF_STATUS ol_txrx_htt_cfr_rx_ind_handler(void *pdev_ptr,
u_int32_t cfr_dump_len, cfr_dump_index; u_int32_t cfr_dump_len, cfr_dump_index;
uint32_t status, target_type; uint32_t status, target_type;
void *prindex = NULL; void *prindex = NULL;
struct csi_cfr_header cfr_header = {0}; struct csi_cfr_header cfr_header = {0};
u_int32_t end_magic = 0xBEAFDEAD; u_int32_t end_magic = 0xBEAFDEAD;
@@ -107,7 +106,7 @@ QDF_STATUS ol_txrx_htt_cfr_rx_ind_handler(void *pdev_ptr,
} }
pa = wlan_objmgr_pdev_get_comp_private_obj(pdev, WLAN_UMAC_COMP_CFR); pa = wlan_objmgr_pdev_get_comp_private_obj(pdev, WLAN_UMAC_COMP_CFR);
if (pa == NULL) { if (!pa) {
cfr_err("pdev_cfr is NULL\n"); cfr_err("pdev_cfr is NULL\n");
wlan_objmgr_pdev_release_ref(pdev, WLAN_CFR_ID); wlan_objmgr_pdev_release_ref(pdev, WLAN_CFR_ID);
return QDF_STATUS_E_FAILURE; return QDF_STATUS_E_FAILURE;
@@ -133,56 +132,55 @@ QDF_STATUS ol_txrx_htt_cfr_rx_ind_handler(void *pdev_ptr,
target_if_cfr_fill_header(&cfr_header, true, target_type, false); target_if_cfr_fill_header(&cfr_header, true, target_type, false);
switch (cfr_msg_type) { switch (cfr_msg_type) {
u_int8_t *peeraddr;
u_int8_t *peeraddr;
case HTT_PEER_CFR_CAPTURE_MSG_TYPE_1: case HTT_PEER_CFR_CAPTURE_MSG_TYPE_1:
cfr_header.u.meta_v1.status =
cfr_header.u.meta_v1.status =
HTT_T2H_CFR_DUMP_TYPE1_STATUS_GET(*(msg_word + 2)); HTT_T2H_CFR_DUMP_TYPE1_STATUS_GET(*(msg_word + 2));
cfr_cap_status = cfr_header.u.meta_v1.status; cfr_cap_status = cfr_header.u.meta_v1.status;
cfr_header.u.meta_v1.capture_bw = cfr_header.u.meta_v1.capture_bw =
HTT_T2H_CFR_DUMP_TYPE1_CAP_BW_GET(*(msg_word + 2)); HTT_T2H_CFR_DUMP_TYPE1_CAP_BW_GET(*(msg_word + 2));
cfr_header.u.meta_v1.capture_mode = cfr_header.u.meta_v1.capture_mode =
HTT_T2H_CFR_DUMP_TYPE1_MODE_GET(*(msg_word + 2)); HTT_T2H_CFR_DUMP_TYPE1_MODE_GET(*(msg_word + 2));
cfr_header.u.meta_v1.sts_count = cfr_header.u.meta_v1.sts_count =
HTT_T2H_CFR_DUMP_TYPE1_STS_GET(*(msg_word + 2)); HTT_T2H_CFR_DUMP_TYPE1_STS_GET(*(msg_word + 2));
cfr_header.u.meta_v1.channel_bw = cfr_header.u.meta_v1.channel_bw =
HTT_T2H_CFR_DUMP_TYPE1_CHAN_BW_GET(*(msg_word + 2)); HTT_T2H_CFR_DUMP_TYPE1_CHAN_BW_GET(*(msg_word + 2));
cfr_header.u.meta_v1.capture_type = cfr_header.u.meta_v1.capture_type =
HTT_T2H_CFR_DUMP_TYPE1_CAP_TYPE_GET(*(msg_word + 2)); HTT_T2H_CFR_DUMP_TYPE1_CAP_TYPE_GET(*(msg_word + 2));
cfr_vdev_id = HTT_T2H_CFR_DUMP_TYPE1_VDEV_ID_GET(*(msg_word + 2)); cfr_vdev_id = HTT_T2H_CFR_DUMP_TYPE1_VDEV_ID_GET
(*(msg_word + 2));
vdev = wlan_objmgr_get_vdev_by_id_from_pdev(pdev, cfr_vdev_id, vdev = wlan_objmgr_get_vdev_by_id_from_pdev(pdev, cfr_vdev_id,
WLAN_CFR_ID); WLAN_CFR_ID);
if (vdev == NULL) if (!vdev) {
cfr_header.u.meta_v1.num_rx_chain = 0; cfr_header.u.meta_v1.num_rx_chain = 0;
else { } else {
cfr_header.u.meta_v1.num_rx_chain = cfr_header.u.meta_v1.num_rx_chain =
wlan_vdev_mlme_get_rxchainmask(vdev); wlan_vdev_mlme_get_rxchainmask(vdev);
wlan_objmgr_vdev_release_ref(vdev, WLAN_CFR_ID); wlan_objmgr_vdev_release_ref(vdev, WLAN_CFR_ID);
} }
peeraddr = target_if_mac_addr_deswizzle((u_int8_t *) (msg_word+3), peeraddr = target_if_mac_addr_deswizzle
cfr_header.u.meta_v1.peer_addr); ((u_int8_t *)(msg_word + 3),
cfr_header.u.meta_v1.peer_addr);
memcpy(cfr_header.u.meta_v1.peer_addr, peeraddr, 6); memcpy(cfr_header.u.meta_v1.peer_addr, peeraddr, 6);
cfr_dump_index = *(msg_word + 5); cfr_dump_index = *(msg_word + 5);
cfr_header.u.meta_v1.length = *(msg_word + 6); cfr_header.u.meta_v1.length = *(msg_word + 6);
cfr_dump_len = cfr_header.u.meta_v1.length; cfr_dump_len = cfr_header.u.meta_v1.length;
cfr_header.u.meta_v1.timestamp = *(msg_word + 7); cfr_header.u.meta_v1.timestamp = *(msg_word + 7);
cfr_header.u.meta_v1.prim20_chan = *(msg_word + 9); cfr_header.u.meta_v1.prim20_chan = *(msg_word + 9);
cfr_header.u.meta_v1.center_freq1 = *(msg_word + 10); cfr_header.u.meta_v1.center_freq1 = *(msg_word + 10);
cfr_header.u.meta_v1.center_freq2 = *(msg_word + 11); cfr_header.u.meta_v1.center_freq2 = *(msg_word + 11);
cfr_header.u.meta_v1.phy_mode = *(msg_word + 12); cfr_header.u.meta_v1.phy_mode = *(msg_word + 12);
break;
break;
default: default:
cfr_err("Unsupported CFR capture type:%d\n", cfr_msg_type); cfr_err("Unsupported CFR capture type:%d\n", cfr_msg_type);
wlan_objmgr_pdev_release_ref(pdev, WLAN_CFR_ID); wlan_objmgr_pdev_release_ref(pdev, WLAN_CFR_ID);
return QDF_STATUS_E_NOSUPPORT; return QDF_STATUS_E_NOSUPPORT;
} }
vaddr = pa->cfr_mem_chunk.vaddr; vaddr = pa->cfr_mem_chunk.vaddr;
@@ -191,15 +189,15 @@ QDF_STATUS ol_txrx_htt_cfr_rx_ind_handler(void *pdev_ptr,
prindex = (void *)((u_int8_t *)vaddr + cfr_dump_index); prindex = (void *)((u_int8_t *)vaddr + cfr_dump_index);
target_if_cfr_info_send(pdev, &cfr_header, target_if_cfr_info_send(pdev, &cfr_header,
sizeof(struct csi_cfr_header), sizeof(struct csi_cfr_header),
prindex, cfr_dump_len, &end_magic, 4); prindex, cfr_dump_len, &end_magic, 4);
*vaddr = cfr_dump_index + cfr_dump_len; *vaddr = cfr_dump_index + cfr_dump_len;
} else if (cfr_cap_status == 0) { } else if (cfr_cap_status == 0) {
target_if_cfr_info_send(pdev, &cfr_header, target_if_cfr_info_send(pdev, &cfr_header,
sizeof(struct csi_cfr_header), sizeof(struct csi_cfr_header),
prindex, cfr_dump_len, &end_magic, 4); prindex, cfr_dump_len, &end_magic, 4);
} }
cfr_debug("CFR: status=%d rindex=0x%pK dump_len=%d\n", cfr_debug("CFR: status=%d rindex=0x%pK dump_len=%d\n",
@@ -209,6 +207,7 @@ QDF_STATUS ol_txrx_htt_cfr_rx_ind_handler(void *pdev_ptr,
return QDF_STATUS_SUCCESS; return QDF_STATUS_SUCCESS;
} }
qdf_export_symbol(ol_txrx_htt_cfr_rx_ind_handler); qdf_export_symbol(ol_txrx_htt_cfr_rx_ind_handler);
QDF_STATUS QDF_STATUS
@@ -224,24 +223,21 @@ cfr_wifi2_0_init_pdev(struct wlan_objmgr_psoc *psoc,
pa = wlan_objmgr_pdev_get_comp_private_obj(pdev, WLAN_UMAC_COMP_CFR); pa = wlan_objmgr_pdev_get_comp_private_obj(pdev, WLAN_UMAC_COMP_CFR);
if (pa == NULL) if (!pa)
return QDF_STATUS_E_FAILURE; return QDF_STATUS_E_FAILURE;
target_type = target_if_cfr_get_target_type(psoc); target_type = target_if_cfr_get_target_type(psoc);
tgt_hdl = wlan_psoc_get_tgt_if_handle(psoc); tgt_hdl = wlan_psoc_get_tgt_if_handle(psoc);
if (tgt_hdl) if (tgt_hdl)
info = (&(tgt_hdl->info)); info = (&tgt_hdl->info);
else else
return QDF_STATUS_E_FAILURE; return QDF_STATUS_E_FAILURE;
if (pa->is_cfr_capable) { if (pa->is_cfr_capable) {
for (idx = 0; idx < info->num_mem_chunks; ++idx) { for (idx = 0; idx < info->num_mem_chunks; ++idx) {
if (info->mem_chunks[idx].req_id == if (info->mem_chunks[idx].req_id ==
CFR_CAPTURE_HOST_MEM_REQ_ID) { CFR_CAPTURE_HOST_MEM_REQ_ID) {
pa->cfr_mem_chunk.req_id = pa->cfr_mem_chunk.req_id =
info->mem_chunks[idx].req_id; info->mem_chunks[idx].req_id;
pa->cfr_mem_chunk.paddr = pa->cfr_mem_chunk.paddr =
@@ -254,8 +250,8 @@ cfr_wifi2_0_init_pdev(struct wlan_objmgr_psoc *psoc,
(*read_offset) = (*read_offset) =
CFR_CAPTURE_HOST_MEM_DEFAULT_READ_OFFSET; CFR_CAPTURE_HOST_MEM_DEFAULT_READ_OFFSET;
cfr_debug("CFR: reqid=%d len=%d\n", cfr_debug("CFR: reqid=%d len=%d\n",
pa->cfr_mem_chunk.req_id, pa->cfr_mem_chunk.req_id,
pa->cfr_mem_chunk.len); pa->cfr_mem_chunk.len);
} }
if (idx >= info->num_mem_chunks) { if (idx >= info->num_mem_chunks) {
@@ -263,7 +259,6 @@ cfr_wifi2_0_init_pdev(struct wlan_objmgr_psoc *psoc,
cfr_err("CFR Shared memory not allocated\n"); cfr_err("CFR Shared memory not allocated\n");
return QDF_STATUS_E_NOMEM; return QDF_STATUS_E_NOMEM;
} }
} }
/* TODO: These values need to be fine-tuned for better optimisation, /* TODO: These values need to be fine-tuned for better optimisation,
@@ -279,11 +274,13 @@ cfr_wifi2_0_init_pdev(struct wlan_objmgr_psoc *psoc,
pa->cfr_max_sta_count = MAX_CFR_CLIENTS_LEGACY; pa->cfr_max_sta_count = MAX_CFR_CLIENTS_LEGACY;
pa->subbuf_size = MAX_SUBBUF_4S; pa->subbuf_size = MAX_SUBBUF_4S;
pa->num_subbufs = NUM_SUBBUF_4S; pa->num_subbufs = NUM_SUBBUF_4S;
} else } else {
return QDF_STATUS_E_NOSUPPORT; return QDF_STATUS_E_NOSUPPORT;
}
} else } else {
return QDF_STATUS_E_NOSUPPORT; return QDF_STATUS_E_NOSUPPORT;
}
return QDF_STATUS_SUCCESS; return QDF_STATUS_SUCCESS;
} }
@@ -292,7 +289,6 @@ QDF_STATUS
cfr_wifi2_0_deinit_pdev(struct wlan_objmgr_psoc *psoc, cfr_wifi2_0_deinit_pdev(struct wlan_objmgr_psoc *psoc,
struct wlan_objmgr_pdev *pdev) struct wlan_objmgr_pdev *pdev)
{ {
/* TODO:No cleanup action need for now */ /* TODO:No cleanup action need for now */
return QDF_STATUS_SUCCESS; return QDF_STATUS_SUCCESS;
} }