Bladeren bron

qcacmn: Add RxMON global enable support

Add RxMON global enable support for WKK

Change-Id: If732318788821303441a5db9ebe21bd2d56b3679
CRs-Fixed: 3123532
Amir Patel 3 jaren geleden
bovenliggende
commit
28ecc1a2f1
3 gewijzigde bestanden met toevoegingen van 11 en 2 verwijderingen
  1. 4 1
      dp/wifi3.0/dp_htt.c
  2. 3 1
      dp/wifi3.0/dp_htt.h
  3. 4 0
      dp/wifi3.0/monitor/2.0/dp_mon_filter_2.0.c

+ 4 - 1
dp/wifi3.0/dp_htt.c

@@ -1,6 +1,6 @@
 /*
  * Copyright (c) 2016-2021 The Linux Foundation. All rights reserved.
- * Copyright (c) 2021,2022 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
@@ -958,6 +958,9 @@ int htt_h2t_rx_ring_cfg(struct htt_soc *htt_soc, int pdev_id,
 	*msg_word = 0;
 	HTT_H2T_MSG_TYPE_SET(*msg_word, HTT_H2T_MSG_TYPE_RX_RING_SELECTION_CFG);
 
+	if (htt_tlv_filter->rx_mon_global_en)
+		*msg_word  |= (1 << RXMON_GLOBAL_EN_SHIFT);
+
 	/*
 	 * pdev_id is indexed from 0 whereas mac_id is indexed from 1
 	 * SW_TO_SW and SW_TO_HW rings are unaffected by this

+ 3 - 1
dp/wifi3.0/dp_htt.h

@@ -1,6 +1,6 @@
 /*
  * Copyright (c) 2016-2021 The Linux Foundation. All rights reserved.
- * Copyright (c) 2021,2022 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
@@ -192,6 +192,7 @@ void htt_htc_pkt_pool_free(struct htt_soc *soc);
 	__QDF_TRACE_FL(QDF_TRACE_LEVEL_INFO_HIGH, QDF_MODULE_ID_DP_HTT_TX_STATS, ## params)
 #define dp_htt_tx_stats_debug(params...) QDF_TRACE_DEBUG(QDF_MODULE_ID_DP_HTT_TX_STATS, params)
 
+#define RXMON_GLOBAL_EN_SHIFT 28
 /**
  * enum dp_full_mon_config - enum to enable/disable full monitor mode
  *
@@ -653,6 +654,7 @@ struct htt_rx_ring_tlv_filter {
 		 ctrl_mpdu_log:1,
 		 data_mpdu_log:1;
 #endif
+	uint8_t rx_mon_global_en;
 };
 
 /**

+ 4 - 0
dp/wifi3.0/monitor/2.0/dp_mon_filter_2.0.c

@@ -1117,6 +1117,7 @@ void dp_mon_filter_setup_rx_mon_mode_2_0(struct dp_pdev *pdev)
 
 	rx_tlv_filter = &filter.rx_tlv_filter;
 	rx_tlv_filter->valid = true;
+	rx_tlv_filter->tlv_filter.rx_mon_global_en = 1;
 
 	dp_mon_filter_set_status_cmn(mon_pdev, rx_tlv_filter);
 	dp_mon_filter_show_filter(mon_pdev, mode, rx_tlv_filter);
@@ -1434,6 +1435,7 @@ void dp_mon_filter_setup_rx_pkt_log_full_2_0(struct dp_pdev *pdev)
 
 	/* Enabled the filter */
 	filter.rx_tlv_filter.valid = true;
+	rx_tlv_filter->rx_mon_global_en = 1;
 	dp_mon_filter_set_status_cmn(&mon_pdev_be->mon_pdev,
 				     &filter.rx_tlv_filter);
 
@@ -1484,6 +1486,7 @@ void dp_mon_filter_setup_rx_pkt_log_lite_2_0(struct dp_pdev *pdev)
 
 	/* Enabled the filter */
 	filter.rx_tlv_filter.valid = true;
+	filter.rx_tlv_filter.tlv_filter.rx_mon_global_en = 1;
 	dp_mon_filter_set_status_cmn(&mon_pdev_be->mon_pdev,
 				     &filter.rx_tlv_filter);
 
@@ -1714,6 +1717,7 @@ dp_rx_mon_filter_h2t_setup(struct dp_soc *soc, struct dp_pdev *pdev,
 			continue;
 
 		filter->valid = true;
+		tlv_filter->rx_mon_global_en = 1;
 
 		/*
 		 * Set the super bit fields