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
* any purpose with or without fee is hereby granted, provided that the
@@ -16,8 +16,8 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
#ifndef _TARGET_IF_CFR_8072V2_H_
#define _TARGET_IF_CFR_8072V2_H_
#ifndef _TARGET_IF_CFR_DBR_H_
#define _TARGET_IF_CFR_DBR_H_
#define STREAMFS_MAX_SUBBUF_8S 8500
#define STREAMFS_NUM_SUBBUF_8S 255

View File

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

View File

@@ -27,7 +27,7 @@
#include <wlan_mlme_dispatcher.h>
#include <init_deinit_lmac.h>
#include <wlan_cfr_utils_api.h>
#include <target_if_cfr_8074v2.h>
#include <target_if_cfr_dbr.h>
#ifdef DIRECT_BUF_RX_ENABLE
#include <target_if_direct_buf_rx_api.h>
#endif
@@ -40,6 +40,7 @@ int dump_lut(struct wlan_objmgr_pdev *pdev)
struct pdev_cfr *pdev_cfrobj;
struct look_up_table *lut = NULL;
int i = 0;
pdev_cfrobj = wlan_objmgr_pdev_get_comp_private_obj(pdev,
WLAN_UMAC_COMP_CFR);
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 pdev_cfr *pdev_cfrobj;
int status = STATUS_ERROR;
if (module_id > 1) {
cfr_err("Received request with invalid mod id. Investigate!!");
QDF_ASSERT(0);
return STATUS_ERROR;
return status;
}
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;
}
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) {
pdev_cfrobj->release_cnt++;
return STATUS_STREAM_AND_RELEASE;
status = STATUS_STREAM_AND_RELEASE;
} else {
/*
* 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_len = 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) {
cfr_debug("Received new dbr event for same cookie %u",
cookie);
@@ -194,12 +197,13 @@ int correlate_and_relay(struct wlan_objmgr_pdev *pdev, uint32_t cookie,
cfr_err("correlation_info1: 0x%08x correlation_info2 0x%08x",
lut->tx_address1, lut->tx_address2);
}
return STATUS_HOLD;
status = STATUS_HOLD;
}
} else {
return STATUS_HOLD;
status = STATUS_HOLD;
}
return status;
}
bool cfr_dbr_event_handler(struct wlan_objmgr_pdev *pdev,
@@ -214,6 +218,7 @@ bool cfr_dbr_event_handler(struct wlan_objmgr_pdev *pdev,
struct look_up_table *lut = NULL;
struct csi_cfr_header *header = NULL;
struct wlan_lmac_if_rx_ops *rx_ops;
bool ret = true;
if ((!pdev) || (!payload)) {
cfr_err("pdev or payload is null");
@@ -272,21 +277,23 @@ bool cfr_dbr_event_handler(struct wlan_objmgr_pdev *pdev,
return true;
}
status = rx_ops->cfr_rx_ops.cfr_info_send(pdev, &lut->header,
status = rx_ops->cfr_rx_ops.cfr_info_send
(pdev, &lut->header,
sizeof(struct csi_cfr_header),
lut->data, lut->data_len, &end_magic, 4);
lut->data, lut->data_len,
&end_magic, 4);
release_lut_entry(pdev, lut);
cfr_debug("Data sent to upper layers, released look up table");
return true;
ret = true;
} else if (status == STATUS_HOLD) {
cfr_debug("Tx event not received yet. Buffer is not released");
return false;
ret = false;
} else {
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)
@@ -334,7 +341,6 @@ void prepare_cfr_header_txstatus(wmi_cfr_peer_tx_event_param *tx_evt_param,
header->u.meta_v4.length = 0;
qdf_mem_copy(&header->u.meta_v4.peer_addr[0],
&tx_evt_param->peer_mac_addr.bytes[0], QDF_MAC_ADDR_SIZE);
}
static int
@@ -382,7 +388,6 @@ target_if_peer_capture_event(ol_scn_t sc, uint8_t *data, uint32_t datalen)
return -EINVAL;
}
retval = wmi_extract_cfr_peer_tx_event_param(wmi_handle, data,
&tx_evt_param);
@@ -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 = (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,
&cookie, 0)) {
@@ -538,7 +544,6 @@ done:
wlan_objmgr_vdev_release_ref(vdev, WLAN_CFR_ID);
wlan_objmgr_pdev_release_ref(pdev, WLAN_CFR_ID);
return status;
}
#else
static int
@@ -724,9 +729,8 @@ QDF_STATUS cfr_8074v2_deinit_pdev(struct wlan_objmgr_psoc *psoc,
QDF_STATUS status;
status = target_if_unregister_to_dbr(pdev);
if (QDF_STATUS_SUCCESS != status) {
if (QDF_STATUS_SUCCESS != status)
cfr_err("Failed to register with dbr");
}
status = target_if_unregister_tx_completion_event_handler(psoc);
return status;

View File

@@ -44,7 +44,6 @@
#define NUM_SUBBUF_4S 1100
#define MAX_CFR_CLIENTS_LEGACY 10
static u_int8_t *
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,
uint32_t *msg_word, size_t msg_len)
uint32_t *msg_word,
size_t msg_len)
{
struct wlan_objmgr_pdev *pdev;
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;
uint32_t status, target_type;
void *prindex = NULL;
struct csi_cfr_header cfr_header = {0};
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);
if (pa == NULL) {
if (!pa) {
cfr_err("pdev_cfr is NULL\n");
wlan_objmgr_pdev_release_ref(pdev, WLAN_CFR_ID);
return QDF_STATUS_E_FAILURE;
@@ -133,11 +132,9 @@ QDF_STATUS ol_txrx_htt_cfr_rx_ind_handler(void *pdev_ptr,
target_if_cfr_fill_header(&cfr_header, true, target_type, false);
switch (cfr_msg_type) {
u_int8_t *peeraddr;
case HTT_PEER_CFR_CAPTURE_MSG_TYPE_1:
cfr_header.u.meta_v1.status =
HTT_T2H_CFR_DUMP_TYPE1_STATUS_GET(*(msg_word + 2));
cfr_cap_status = cfr_header.u.meta_v1.status;
@@ -151,19 +148,21 @@ QDF_STATUS ol_txrx_htt_cfr_rx_ind_handler(void *pdev_ptr,
HTT_T2H_CFR_DUMP_TYPE1_CHAN_BW_GET(*(msg_word + 2));
cfr_header.u.meta_v1.capture_type =
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,
WLAN_CFR_ID);
if (vdev == NULL)
if (!vdev) {
cfr_header.u.meta_v1.num_rx_chain = 0;
else {
} else {
cfr_header.u.meta_v1.num_rx_chain =
wlan_vdev_mlme_get_rxchainmask(vdev);
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
((u_int8_t *)(msg_word + 3),
cfr_header.u.meta_v1.peer_addr);
memcpy(cfr_header.u.meta_v1.peer_addr, peeraddr, 6);
@@ -176,7 +175,6 @@ QDF_STATUS ol_txrx_htt_cfr_rx_ind_handler(void *pdev_ptr,
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.phy_mode = *(msg_word + 12);
break;
default:
@@ -209,6 +207,7 @@ QDF_STATUS ol_txrx_htt_cfr_rx_ind_handler(void *pdev_ptr,
return QDF_STATUS_SUCCESS;
}
qdf_export_symbol(ol_txrx_htt_cfr_rx_ind_handler);
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);
if (pa == NULL)
if (!pa)
return QDF_STATUS_E_FAILURE;
target_type = target_if_cfr_get_target_type(psoc);
tgt_hdl = wlan_psoc_get_tgt_if_handle(psoc);
if (tgt_hdl)
info = (&(tgt_hdl->info));
info = (&tgt_hdl->info);
else
return QDF_STATUS_E_FAILURE;
if (pa->is_cfr_capable) {
for (idx = 0; idx < info->num_mem_chunks; ++idx) {
if (info->mem_chunks[idx].req_id ==
CFR_CAPTURE_HOST_MEM_REQ_ID) {
pa->cfr_mem_chunk.req_id =
info->mem_chunks[idx].req_id;
pa->cfr_mem_chunk.paddr =
@@ -263,7 +259,6 @@ cfr_wifi2_0_init_pdev(struct wlan_objmgr_psoc *psoc,
cfr_err("CFR Shared memory not allocated\n");
return QDF_STATUS_E_NOMEM;
}
}
/* 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->subbuf_size = MAX_SUBBUF_4S;
pa->num_subbufs = NUM_SUBBUF_4S;
} else
} else {
return QDF_STATUS_E_NOSUPPORT;
}
} else
} else {
return QDF_STATUS_E_NOSUPPORT;
}
return QDF_STATUS_SUCCESS;
}
@@ -292,7 +289,6 @@ QDF_STATUS
cfr_wifi2_0_deinit_pdev(struct wlan_objmgr_psoc *psoc,
struct wlan_objmgr_pdev *pdev)
{
/* TODO:No cleanup action need for now */
return QDF_STATUS_SUCCESS;
}