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:
@@ -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;
|
||||
}
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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)
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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_ */
|
||||
|
@@ -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;
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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);
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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");
|
||||
|
@@ -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.
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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_ */
|
||||
|
@@ -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
|
||||
|
@@ -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 \
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
Reference in New Issue
Block a user