qcacmn: Fixes for compilation issues

- Fixes for compilation issues after enabling
  monitor 2.0 support.
- change copyright year for all files in the chain.

Change-Id: I885e257bd8ca83850656d8a1f408c1bc34920d7a
CRs-Fixed: 3086483
This commit is contained in:
Naga
2021-12-01 16:47:30 +05:30
committed by Madan Koyyalamudi
parent 165f79e802
commit 7798784bc5
27 changed files with 128 additions and 110 deletions

View File

@@ -1,6 +1,6 @@
/*
* Copyright (c) 2021 The Linux Foundation. All rights reserved.
* Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved.
* Copyright (c) 2021,2022 Qualcomm Innovation Center, Inc. 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
@@ -23,6 +23,9 @@
#include "dp_be.h"
#include "dp_be_tx.h"
#include "dp_be_rx.h"
#ifdef QCA_MONITOR_2_0_SUPPORT
#include "dp_mon_2.0.h"
#endif
#include <hal_be_api.h>
/* Generic AST entry aging timer value */
@@ -73,6 +76,8 @@ qdf_size_t dp_get_context_size_be(enum dp_context_type context_type)
return sizeof(struct dp_vdev_be);
case DP_CONTEXT_TYPE_PEER:
return sizeof(struct dp_peer_be);
case DP_CONTEXT_TYPE_MON_PDEV:
return dp_get_mon_obj_be_size(DP_CONTEXT_TYPE_MON_PDEV);
default:
return 0;
}

View File

@@ -1,6 +1,6 @@
/*
* Copyright (c) 2021 The Linux Foundation. All rights reserved.
* Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved.
* Copyright (c) 2021,2022 Qualcomm Innovation Center, Inc. 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
@@ -26,6 +26,7 @@
#else
#include <dp_peer.h>
#endif
#include <dp_mon.h>
/* maximum number of entries in one page of secondary page table */
#define DP_CC_SPT_PAGE_MAX_ENTRIES 512
@@ -202,9 +203,6 @@ struct dp_soc_be {
struct dp_srng ppe2tcl_ring;
struct dp_srng ppe_release_ring;
#endif
#if !defined(DISABLE_MON_CONFIG)
struct dp_mon_soc_be *monitor_soc_be;
#endif
#ifdef WLAN_FEATURE_11BE_MLO
#ifdef WLAN_MLO_MULTI_CHIP
uint8_t mlo_enabled;
@@ -234,9 +232,6 @@ struct dp_soc_be {
*/
struct dp_pdev_be {
struct dp_pdev pdev;
#if !defined(DISABLE_MON_CONFIG)
struct dp_mon_pdev_be *monitor_pdev_be;
#endif
#ifdef WLAN_MLO_MULTI_CHIP
uint8_t mlo_link_id;
#endif
@@ -688,4 +683,30 @@ QDF_STATUS dp_txrx_set_vdev_param_be(struct dp_soc *soc,
enum cdp_vdev_param_type param,
cdp_config_param_type val);
/*
* dp_get_mon_obj_be_size: get monitor context size
* @context_type: context type
*
* return: size of context
*/
#ifdef QCA_MONITOR_2_0_SUPPORT
static inline qdf_size_t
dp_get_mon_obj_be_size(enum dp_context_type context_type)
{
switch (context_type) {
case DP_CONTEXT_TYPE_MON_PDEV:
return sizeof(struct dp_mon_pdev_be);
break;
default:
return 0;
}
}
#else
static inline qdf_size_t
dp_get_mon_obj_be_size(enum dp_context_type context_type)
{
return sizeof(struct dp_mon_pdev);
}
#endif
#endif

View File

@@ -1,6 +1,6 @@
/*
* Copyright (c) 2016-2021 The Linux Foundation. All rights reserved.
* Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved.
* Copyright (c) 2021,2022 Qualcomm Innovation Center, Inc. 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

View File

@@ -1,6 +1,6 @@
/*
* Copyright (c) 2016-2021 The Linux Foundation. All rights reserved.
* Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved.
* Copyright (c) 2021,2022 Qualcomm Innovation Center, Inc. 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

View File

@@ -5117,7 +5117,9 @@ QDF_STATUS dp_pdev_attach_wifi3(struct cdp_soc_t *txrx_soc,
pdev_context_size =
soc->arch_ops.txrx_get_context_size(DP_CONTEXT_TYPE_PDEV);
if (pdev_context_size)
pdev = dp_context_alloc_mem(soc, DP_PDEV_TYPE, pdev_context_size);
if (!pdev) {
dp_init_err("%pK: DP PDEV memory allocation failed",
soc);
@@ -12927,7 +12929,7 @@ dp_soc_attach(struct cdp_ctrl_objmgr_psoc *ctrl_psoc,
goto fail0;
}
dp_info("soc memory allocated %pk", soc);
dp_info("soc memory allocated %pK", soc);
soc->hif_handle = hif_handle;
soc->hal_soc = hif_get_hal_handle(soc->hif_handle);
if (!soc->hal_soc)

View File

@@ -1,5 +1,6 @@
/*
* Copyright (c) 2021 The Linux Foundation. All rights reserved.
* Copyright (c) 2022 Qualcomm Innovation Center, Inc. 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

View File

@@ -1,6 +1,6 @@
/*
* Copyright (c) 2021, The Linux Foundation. All rights reserved.
* Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved.
* Copyright (c) 2021,2022 Qualcomm Innovation Center, Inc. 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 above

View File

@@ -1,5 +1,6 @@
/*
* Copyright (c) 2021, The Linux Foundation. All rights reserved.
* Copyright (c) 2021,2022 Qualcomm Innovation Center, Inc. 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 above

View File

@@ -1,5 +1,6 @@
/*
* Copyright (c) 2021, The Linux Foundation. All rights reserved.
* Copyright (c) 2021,2022 Qualcomm Innovation Center, Inc. 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 above

View File

@@ -1,6 +1,6 @@
/*
* Copyright (c) 2021, The Linux Foundation. All rights reserved.
* Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved.
* Copyright (c) 2021,2022 Qualcomm Innovation Center, Inc. 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 above

View File

@@ -1,6 +1,6 @@
/*
* Copyright (c) 2021, The Linux Foundation. All rights reserved.
* Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved.
* Copyright (c) 2021 The Linux Foundation. All rights reserved.
* Copyright (c) 2021,2022 Qualcomm Innovation Center, Inc. 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 above
@@ -21,6 +21,9 @@
#if !defined(DISABLE_MON_CONFIG)
#include <qdf_lock.h>
#include <dp_types.h>
#include <dp_mon.h>
#include <dp_mon_filter.h>
#include <dp_htt.h>
#define DP_MON_RING_FILL_LEVEL_DEFAULT 2048
#define DP_MON_DATA_BUFFER_SIZE 2048
@@ -33,7 +36,9 @@
*/
struct dp_mon_filter_be {
struct dp_mon_filter rx_tlv_filter;
#ifdef QCA_MONITOR_2_0_SUPPORT
struct htt_tx_ring_tlv_filter tx_tlv_filter;
#endif
bool tx_valid;
};
@@ -91,8 +96,8 @@ struct dp_mon_desc_pool {
* @mon_pdev: monitor pdev structure
*/
struct dp_mon_pdev_be {
struct dp_mon_filter_be **filter_be;
struct dp_mon_pdev mon_pdev;
struct dp_mon_filter_be **filter_be;
};
/**
@@ -200,7 +205,7 @@ QDF_STATUS dp_mon_buffers_replenish(struct dp_soc *dp_soc,
* @mode: The filter modes
* @tlv_filter: tlv filter
*/
void dp_mon_filter_show_filter_be(struct dp_mon_pdev *mon_pdev,
void dp_mon_filter_show_filter_be(struct dp_mon_pdev_be *mon_pdev,
enum dp_mon_filter_mode mode,
struct dp_mon_filter_be *filter);
#endif /* _DP_MON_2_0_H_ */

View File

@@ -1,5 +1,6 @@
/*
* Copyright (c) 2021, The Linux Foundation. All rights reserved.
* Copyright (c) 2021,2022 Qualcomm Innovation Center, Inc. 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 above
@@ -28,6 +29,7 @@
#include <dp_mon_2.0.h>
#include <dp_rx_mon_2.0.h>
#include <dp_mon_filter_2.0.h>
#include <dp_be.h>
#define HTT_MSG_BUF_SIZE(msg_bytes) \
((msg_bytes) + HTC_HEADER_LEN + HTC_HDR_ALIGNMENT_PADDING)
@@ -1061,7 +1063,7 @@ void dp_mon_filter_setup_rx_pkt_log_full_2_0(struct dp_pdev *pdev)
enum dp_mon_filter_mode mode = DP_MON_FILTER_PKT_LOG_FULL_MODE;
enum dp_mon_filter_srng_type srng_type =
DP_MON_FILTER_SRNG_TYPE_RXDMA_MONITOR_STATUS;
struct dp_pdev_be *pdev_be;
struct dp_pdev_be *pdev_be = dp_get_be_pdev_from_dp_pdev(pdev);
struct dp_mon_pdev_be *mon_pdev_be;
struct htt_rx_ring_tlv_filter *rx_tlv_filter =
&filter.rx_tlv_filter.tlv_filter;
@@ -1071,11 +1073,10 @@ void dp_mon_filter_setup_rx_pkt_log_full_2_0(struct dp_pdev *pdev)
return;
}
pdev_be = (struct dp_pdev_be *)pdev;
mon_pdev_be = pdev_be->monitor_pdev_be;
/* Enabled the filter */
filter.rx_tlv_filter.valid = true;
dp_mon_filter_set_status_cmn(mon_pdev_be->mon_pdev,
dp_mon_filter_set_status_cmn(&mon_pdev_be->mon_pdev,
&filter.rx_tlv_filter);
/* Setup the filter */
@@ -1095,7 +1096,7 @@ void dp_mon_filter_reset_rx_pkt_log_full_2_0(struct dp_pdev *pdev)
enum dp_mon_filter_mode mode = DP_MON_FILTER_PKT_LOG_FULL_MODE;
enum dp_mon_filter_srng_type srng_type =
DP_MON_FILTER_SRNG_TYPE_RXDMA_MONITOR_STATUS;
struct dp_pdev_be *pdev_be;
struct dp_pdev_be *pdev_be = dp_get_be_pdev_from_dp_pdev(pdev);
struct dp_mon_pdev_be *mon_pdev_be;
if (!pdev) {
@@ -1103,7 +1104,6 @@ void dp_mon_filter_reset_rx_pkt_log_full_2_0(struct dp_pdev *pdev)
return;
}
pdev_be = (struct dp_pdev_be *)pdev;
mon_pdev_be = pdev_be->monitor_pdev_be;
mon_pdev_be->filter_be[mode][srng_type] = filter;
@@ -1115,7 +1115,7 @@ void dp_mon_filter_setup_rx_pkt_log_lite_2_0(struct dp_pdev *pdev)
enum dp_mon_filter_mode mode = DP_MON_FILTER_PKT_LOG_LITE_MODE;
enum dp_mon_filter_srng_type srng_type =
DP_MON_FILTER_SRNG_TYPE_RXDMA_MONITOR_STATUS;
struct dp_pdev_be *pdev_be;
struct dp_pdev_be *pdev_be = dp_get_be_pdev_from_dp_pdev(pdev);
struct dp_mon_pdev_be *mon_pdev_be;
if (!pdev) {
@@ -1123,15 +1123,14 @@ void dp_mon_filter_setup_rx_pkt_log_lite_2_0(struct dp_pdev *pdev)
return;
}
pdev_be = (struct dp_pdev_be *)pdev;
mon_pdev_be = pdev_be->monitor_pdev_be;
/* Enabled the filter */
filter.rx_tlv_filter.valid = true;
dp_mon_filter_set_status_cmn(mon_pdev_be->mon_pdev,
dp_mon_filter_set_status_cmn(&mon_pdev_be->mon_pdev,
&filter.rx_tlv_filter);
dp_mon_filter_show_filter_be(mon_pdev_be, mode, &filter);
mon_pdev_be->filter[mode][srng_type] = filter;
mon_pdev_be->filter_be[mode][srng_type] = filter;
}
void dp_mon_filter_reset_rx_pkt_log_lite_2_0(struct dp_pdev *pdev)
@@ -1140,7 +1139,7 @@ void dp_mon_filter_reset_rx_pkt_log_lite_2_0(struct dp_pdev *pdev)
enum dp_mon_filter_mode mode = DP_MON_FILTER_PKT_LOG_LITE_MODE;
enum dp_mon_filter_srng_type srng_type =
DP_MON_FILTER_SRNG_TYPE_RXDMA_MONITOR_STATUS;
struct dp_pdev_be *pdev_be;
struct dp_pdev_be *pdev_be = dp_get_be_pdev_from_dp_pdev(pdev);
struct dp_mon_pdev_be *mon_pdev_be;
if (!pdev) {
@@ -1159,25 +1158,24 @@ static void
dp_mon_filter_set_reset_rx_pkt_log_cbf_dest_2_0(struct dp_pdev_be *pdev_be,
struct dp_mon_filter_be *filter)
{
struct dp_soc *soc = pdev_be->pdev->soc;
struct dp_soc *soc = pdev_be->pdev.soc;
enum dp_mon_filter_mode mode = DP_MON_FILTER_PKT_LOG_CBF_MODE;
enum dp_mon_filter_srng_type srng_type;
struct dp_mon_pdev_be *mon_pdev_be;
struct htt_rx_ring_tlv_filter *rx_tlv_filter =
&filter->rx_tlv_filter->tlv_filter;
srng_type = ((soc->wlan_cfg_ctx->rxdma1_enable) ?
DP_MON_FILTER_SRNG_TYPE_RXDMA_MON_BUF :
DP_MON_FILTER_SRNG_TYPE_RXDMA_BUF);
/*set the filter */
if (filter->rx_tlv_filter->valid) {
dp_mon_filter_set_cbf_cmn(pdev_be->pdev, filter->rx_tlv_filter);
if (filter->rx_tlv_filter.valid) {
dp_mon_filter_set_cbf_cmn(&pdev_be->pdev,
&filter->rx_tlv_filter);
dp_mon_filter_show_filter_be(mon_pdev_be, mode, filter);
mon_pdev_be->filter[mode][srng_type] = *filter;
mon_pdev_be->filter_be[mode][srng_type] = *filter;
} else /* reset the filter */
mon_pdev_be->filter[mode][srng_type] = *filter;
mon_pdev_be->filter_be[mode][srng_type] = *filter;
}
#else
static void
@@ -1194,7 +1192,7 @@ void dp_mon_filter_setup_rx_pkt_log_cbf_2_0(struct dp_pdev *pdev)
enum dp_mon_filter_mode mode = DP_MON_FILTER_PKT_LOG_CBF_MODE;
enum dp_mon_filter_srng_type srng_type =
DP_MON_FILTER_SRNG_TYPE_RXDMA_MONITOR_STATUS;
struct dp_pdev_be *pdev_be;
struct dp_pdev_be *pdev_be = dp_get_be_pdev_from_dp_pdev(pdev);
struct dp_mon_pdev_be *mon_pdev_be;
if (!pdev) {
@@ -1208,14 +1206,13 @@ void dp_mon_filter_setup_rx_pkt_log_cbf_2_0(struct dp_pdev *pdev)
return;
}
pdev_be = (struct dp_pdev_be *)pdev;
mon_pdev_be = pdev_be->monitor_pdev_be;
/* Enabled the filter */
filter.rx_tlv_filter.valid = true;
dp_mon_filter_set_status_cbf(pdev_be->pdev, &filter.rx_tlv_filter);
dp_mon_filter_set_status_cbf(&pdev_be->pdev, &filter.rx_tlv_filter);
dp_mon_filter_show_filter_be(mon_pdev_be, mode, &filter);
mon_pdev_be->filter[mode][srng_type] = filter;
mon_pdev_be->filter_be[mode][srng_type] = filter;
/* Clear the filter as the same filter will be used to set the
* monitor status ring
@@ -1234,6 +1231,7 @@ void dp_mon_filter_reset_rx_pktlog_cbf_2_0(struct dp_pdev *pdev)
enum dp_mon_filter_srng_type srng_type =
DP_MON_FILTER_SRNG_TYPE_RXDMA_BUF;
struct dp_mon_pdev_be *mon_pdev_be;
struct dp_pdev_be *pdev_be = dp_get_be_pdev_from_dp_pdev(pdev);
if (!pdev) {
QDF_TRACE(QDF_MODULE_ID_MON_FILTER, QDF_TRACE_LEVEL_ERROR,
@@ -1247,7 +1245,6 @@ void dp_mon_filter_reset_rx_pktlog_cbf_2_0(struct dp_pdev *pdev)
return;
}
pdev_be = (struct dp_pdev_be *)pdev;
mon_pdev_be = pdev_be->monitor_pdev_be;
/* Enabled the filter */
filter.rx_tlv_filter.valid = true;
@@ -1255,7 +1252,7 @@ void dp_mon_filter_reset_rx_pktlog_cbf_2_0(struct dp_pdev *pdev)
dp_mon_filter_set_reset_rx_pkt_log_cbf_dest_2_0(pdev_be, &filter);
srng_type = DP_MON_FILTER_SRNG_TYPE_RXDMA_MONITOR_STATUS;
mon_pdev_be->filter[mode][srng_type] = filter;
mon_pdev_be->filter_be[mode][srng_type] = filter;
}
void dp_mon_filter_setup_pktlog_hybrid_2_0(struct dp_pdev *pdev)
@@ -1264,7 +1261,7 @@ void dp_mon_filter_setup_pktlog_hybrid_2_0(struct dp_pdev *pdev)
enum dp_mon_filter_mode mode = DP_MON_FILTER_PKT_LOG_HYBRID_MODE;
enum dp_mon_filter_srng_type srng_type =
DP_MON_FILTER_SRNG_TYPE_TXMON_DEST;
struct dp_pdev_be *pdev_be;
struct dp_pdev_be *pdev_be = dp_get_be_pdev_from_dp_pdev(pdev);
struct dp_mon_pdev_be *mon_pdev_be;
struct htt_tx_ring_tlv_filter *tlv_filter = &filter.tx_tlv_filter;
@@ -1273,7 +1270,6 @@ void dp_mon_filter_setup_pktlog_hybrid_2_0(struct dp_pdev *pdev)
return;
}
pdev_be = (struct dp_pdev_be *)pdev;
mon_pdev_be = pdev_be->monitor_pdev_be;
/* Enabled the filter */
filter.tx_valid = true;
@@ -1303,7 +1299,7 @@ void dp_mon_filter_reset_pktlog_hybrid_2_0(struct dp_pdev *pdev)
enum dp_mon_filter_mode mode = DP_MON_FILTER_PKT_LOG_HYBRID_MODE;
enum dp_mon_filter_srng_type srng_type =
DP_MON_FILTER_SRNG_TYPE_TXMON_DEST;
struct dp_pdev_be *pdev_be;
struct dp_pdev_be *pdev_be = dp_get_be_pdev_from_dp_pdev(pdev);
struct dp_mon_pdev_be *mon_pdev_be;
if (!pdev) {
@@ -1311,7 +1307,6 @@ void dp_mon_filter_reset_pktlog_hybrid_2_0(struct dp_pdev *pdev)
return;
}
pdev_be = (struct dp_pdev_be *)pdev;
mon_pdev_be = pdev_be->monitor_pdev_be;
mon_pdev_be->filter_be[mode][srng_type] = filter;

View File

@@ -1,5 +1,6 @@
/*
* Copyright (c) 2021, The Linux Foundation. All rights reserved.
* Copyright (c) 2021,2022 Qualcomm Innovation Center, Inc. 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 above

View File

@@ -1,6 +1,6 @@
/*
* Copyright (c) 2021, The Linux Foundation. All rights reserved.
* Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved.
* Copyright (c) 2021,2022 Qualcomm Innovation Center, Inc. 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 above

View File

@@ -1,5 +1,6 @@
/*
* Copyright (c) 2021, The Linux Foundation. All rights reserved.
* Copyright (c) 2021,2022 Qualcomm Innovation Center, Inc. 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 above

View File

@@ -1,5 +1,6 @@
/*
* Copyright (c) 2021, The Linux Foundation. All rights reserved.
* Copyright (c) 2021,2022 Qualcomm Innovation Center, Inc. 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 above
@@ -22,6 +23,8 @@
#include <dp_mon.h>
#include <dp_mon_2.0.h>
#include <dp_rx_mon_2.0.h>
#include <dp_rx.h>
#include <dp_rx_mon.h>
void dp_rx_mon_process_status_tlv(struct dp_soc *soc,
struct dp_pdev *pdev,
@@ -38,6 +41,7 @@ dp_rx_process_pktlog(struct dp_soc *soc,
{
struct dp_mon_pdev *mon_pdev;
qdf_nbuf_t nbuf = NULL;
enum WDI_EVENT pktlog_mode = WDI_NO_VAL;
nbuf = qdf_nbuf_alloc(soc->osdev, RX_MON_MIN_HEAD_ROOM,
RX_BUFFER_RESERVATION, 0, FALSE);

View File

@@ -1,5 +1,6 @@
/*
* Copyright (c) 2021, The Linux Foundation. All rights reserved.
* Copyright (c) 2021,2022 Qualcomm Innovation Center, Inc. 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 above

View File

@@ -1,5 +1,6 @@
/*
* Copyright (c) 2021, The Linux Foundation. All rights reserved.
* Copyright (c) 2021,2022 Qualcomm Innovation Center, Inc. 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 above

View File

@@ -4599,7 +4599,13 @@ QDF_STATUS dp_mon_pdev_detach(struct dp_pdev *pdev)
dp_mon_err("pdev is NULL");
return QDF_STATUS_E_FAILURE;
}
mon_pdev = pdev->monitor_pdev;
if (!mon_pdev) {
dp_mon_err("Monitor pdev is NULL");
return QDF_STATUS_E_FAILURE;
}
mon_ops = dp_mon_ops_get(pdev->soc);
if (!mon_ops) {
dp_mon_err("Monitor ops is NULL");

View File

@@ -1,6 +1,7 @@
/*
* Copyright (c) 2016-2021, The Linux Foundation. All rights reserved.
* Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved.
* Copyright (c) 2021,2022 Qualcomm Innovation Center, Inc. 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 above
* copyright notice and this permission notice appear in all copies.

View File

@@ -1,6 +1,6 @@
/*
* Copyright (c) 2020-2021 The Linux Foundation. All rights reserved.
* Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved.
* Copyright (c) 2021,2022 Qualcomm Innovation Center, Inc. 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

View File

@@ -1,6 +1,6 @@
/*
* Copyright (c) 2020-2021 The Linux Foundation. All rights reserved.
* Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved.
* Copyright (c) 2021,2022 Qualcomm Innovation Center, Inc. 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

View File

@@ -1,5 +1,6 @@
/*
* Copyright (c) 2021, The Linux Foundation. All rights reserved.
* Copyright (c) 2021-2022, The Linux Foundation. All rights reserved.
* Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. 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 above
@@ -96,6 +97,32 @@ struct hal_mon_desc {
looping_count:4;
};
/**
* hal_be_get_mon_dest_status() - Get monitor descriptor
* @hal_soc_hdl: HAL Soc handle
* @desc: HAL monitor descriptor
*
* Return: none
*/
static inline void
hal_be_get_mon_dest_status(hal_soc_handle_t hal_soc,
void *hw_desc,
struct hal_mon_desc *status)
{
struct mon_destination_ring *desc = hw_desc;
uint32_t stat_buf_virt_addr_31_0 = desc->stat_buf_virt_addr_31_0;
uint32_t stat_buf_virt_addr_63_32 = desc->stat_buf_virt_addr_63_32;
status->buf_addr = (HAL_MON_BUFFER_ADDR_31_0_GET(&stat_buf_virt_addr_31_0) |
((uint64_t)(HAL_MON_BUFFER_ADDR_39_32_GET(&stat_buf_virt_addr_63_32)) << 32));
status->ppdu_id = desc->ppdu_id;
status->end_offset = desc->end_offset;
status->end_reason = desc->end_reason;
status->initiator = desc->initiator;
status->empty_descriptor = desc->empty_descriptor;
status->looping_count = desc->looping_count;
}
/**
* hal_mon_buff_addr_info_set() - set desc address in cookie
* @hal_soc_hdl: HAL Soc handle
@@ -121,31 +148,4 @@ void hal_mon_buff_addr_info_set(hal_soc_handle_t hal_soc_hdl,
HAL_MON_VADDR_HI_SET(mon_entry, vaddr_hi);
}
/**
* hal_mon_buf_get() - Get monitor descriptor
* @hal_soc_hdl: HAL Soc handle
* @desc: HAL monitor descriptor
*
* Return: none
*/
static inline
void hal_mon_buf_get(hal_soc_handle_t hal_soc_hdl,
void *dst_ring_desc,
struct hal_mon_desc *mon_desc)
{
struct mon_destination_ring *hal_dst_ring =
(struct mon_destination_ring *)dst_ring_desc;
mon_desc->buf_addr =
((u64)hal_dst_ring->stat_buf_virt_addr_31_0 |
((u64)hal_dst_ring->stat_buf_virt_addr_63_32 << 32));
mon_desc->ppdu_id = hal_dst_ring->ppdu_id;
mon_desc->end_offset = hal_dst_ring->end_offset;
mon_desc->end_reason = hal_dst_ring->end_reason;
mon_desc->initiator = hal_dst_ring->initiator;
mon_desc->ring_id = hal_dst_ring->ring_id;
mon_desc->empty_descriptor = hal_dst_ring->empty_descriptor;
mon_desc->looping_count = hal_dst_ring->looping_count;
}
#endif /* _HAL_BE_API_MON_H_ */

View File

@@ -1,6 +1,6 @@
/*
* Copyright (c) 2016-2021 The Linux Foundation. All rights reserved.
* Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved.
* Copyright (c) 2021,2022 Qualcomm Innovation Center, Inc. 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

View File

@@ -1,6 +1,6 @@
/*
* Copyright (c) 2019-2021 The Linux Foundation. All rights reserved.
* Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved.
* Copyright (c) 2021,2022 Qualcomm Innovation Center, Inc. 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
@@ -33,39 +33,11 @@
#include "rx_flow_search_entry.h"
#include "hal_rx_flow_info.h"
#include "hal_be_api.h"
#include "hal_be_api_mon.h"
#include "reo_destination_ring_with_pn.h"
#include <hal_be_rx.h>
#define UNIFIED_RXPCU_PPDU_END_INFO_8_RX_PPDU_DURATION_OFFSET \
RXPCU_PPDU_END_INFO_RX_PPDU_DURATION_OFFSET
#define UNIFIED_RXPCU_PPDU_END_INFO_8_RX_PPDU_DURATION_MASK \
RXPCU_PPDU_END_INFO_RX_PPDU_DURATION_MASK
#define UNIFIED_RXPCU_PPDU_END_INFO_8_RX_PPDU_DURATION_LSB \
RXPCU_PPDU_END_INFO_RX_PPDU_DURATION_LSB
#define UNIFIED_PHYRX_HT_SIG_0_HT_SIG_INFO_PHYRX_HT_SIG_INFO_DETAILS_OFFSET \
PHYRX_L_SIG_B_PHYRX_L_SIG_B_INFO_DETAILS_RATE_OFFSET
#define UNIFIED_PHYRX_L_SIG_B_0_L_SIG_B_INFO_PHYRX_L_SIG_B_INFO_DETAILS_OFFSET \
PHYRX_L_SIG_B_PHYRX_L_SIG_B_INFO_DETAILS_RATE_OFFSET
#define UNIFIED_PHYRX_L_SIG_A_0_L_SIG_A_INFO_PHYRX_L_SIG_A_INFO_DETAILS_OFFSET \
PHYRX_L_SIG_A_PHYRX_L_SIG_A_INFO_DETAILS_RATE_OFFSET
#define UNIFIED_PHYRX_VHT_SIG_A_0_VHT_SIG_A_INFO_PHYRX_VHT_SIG_A_INFO_DETAILS_OFFSET \
PHYRX_VHT_SIG_A_PHYRX_VHT_SIG_A_INFO_DETAILS_BANDWIDTH_OFFSET
#define UNIFIED_PHYRX_HE_SIG_A_SU_0_HE_SIG_A_SU_INFO_PHYRX_HE_SIG_A_SU_INFO_DETAILS_OFFSET \
PHYRX_HE_SIG_A_SU_PHYRX_HE_SIG_A_SU_INFO_DETAILS_FORMAT_INDICATION_OFFSET
#define UNIFIED_PHYRX_HE_SIG_A_MU_DL_0_HE_SIG_A_MU_DL_INFO_PHYRX_HE_SIG_A_MU_DL_INFO_DETAILS_OFFSET \
PHYRX_HE_SIG_A_MU_DL_PHYRX_HE_SIG_A_MU_DL_INFO_DETAILS_DL_UL_FLAG_OFFSET
#define UNIFIED_PHYRX_HE_SIG_B1_MU_0_HE_SIG_B1_MU_INFO_PHYRX_HE_SIG_B1_MU_INFO_DETAILS_OFFSET \
PHYRX_HE_SIG_B1_MU_PHYRX_HE_SIG_B1_MU_INFO_DETAILS_RU_ALLOCATION_OFFSET
#define UNIFIED_PHYRX_HE_SIG_B2_MU_0_HE_SIG_B2_MU_INFO_PHYRX_HE_SIG_B2_MU_INFO_DETAILS_OFFSET \
PHYRX_HE_SIG_B2_MU_PHYRX_HE_SIG_B2_MU_INFO_DETAILS_STA_ID_OFFSET
#define UNIFIED_PHYRX_HE_SIG_B2_OFDMA_0_HE_SIG_B2_OFDMA_INFO_PHYRX_HE_SIG_B2_OFDMA_INFO_DETAILS_OFFSET \
PHYRX_HE_SIG_B2_OFDMA_PHYRX_HE_SIG_B2_OFDMA_INFO_DETAILS_STA_ID_OFFSET
#define UNIFIED_PHYRX_RSSI_LEGACY_3_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_OFFSET \
PHYRX_RSSI_LEGACY_3_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_OFFSET
#define UNIFIED_PHYRX_RSSI_LEGACY_19_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_OFFSET \
PHYRX_RSSI_LEGACY_PREAMBLE_RSSI_INFO_DETAILS_RSSI_PRI20_CHAIN0_OFFSET
#define UNIFIED_RX_MPDU_START_0_RX_MPDU_INFO_RX_MPDU_INFO_DETAILS_OFFSET \
RX_MPDU_START_0_RX_MPDU_INFO_DETAILS_RXPT_CLASSIFY_INFO_DETAILS_REO_DESTINATION_INDICATION_OFFSET
#define UNIFIED_RX_MSDU_LINK_8_RX_MSDU_DETAILS_MSDU_0_OFFSET \

View File

@@ -1,6 +1,6 @@
/*
* Copyright (c) 2021 The Linux Foundation. All rights reserved.
* Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved.
* Copyright (c) 2021,2022 Qualcomm Innovation Center, Inc. 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

View File

@@ -1,6 +1,6 @@
/*
* Copyright (c) 2018-2021 The Linux Foundation. All rights reserved.
* Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved.
* Copyright (c) 2021,2022 Qualcomm Innovation Center, Inc. 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