All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCHv2 0/3] wifi: ath12k: Remove unsupported and unused ring configurations
@ 2024-04-27 16:26 Tamizh Chelvam Raja
  2024-04-27 16:26 ` [PATCHv2 1/3] wifi: ath12k: fix calling correct function for rx monitor mode Tamizh Chelvam Raja
                   ` (3 more replies)
  0 siblings, 4 replies; 8+ messages in thread
From: Tamizh Chelvam Raja @ 2024-04-27 16:26 UTC (permalink / raw)
  To: ath12k; +Cc: linux-wireless, Tamizh Chelvam Raja

Currently in driver doing memory allocation for tx_monitor,
tcl_cmd_ring and tcl_status ring. Here driver support for
tx_monitor mode is not there and memory for tcl_cmd and tcl_status
rings are allocated by firmware and it uses that memory instead of
host allocated. So avoid these unused ring setup configuration.

Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.0.1-00029-QCAHKSWPL_SILICONZ-1

Tamizh Chelvam Raja (3):
  wifi: ath12k: fix calling correct function for rx monitor mode
  wifi: ath12k: Remove unsupported tx monitor handling
  wifi: ath12k: Remove unused tcl_*_ring configuration

v2:
  * Rebased on top of ToT

 drivers/net/wireless/ath/ath12k/dp.c     | 16 -------
 drivers/net/wireless/ath/ath12k/dp.h     |  2 -
 drivers/net/wireless/ath/ath12k/dp_mon.c | 40 +----------------
 drivers/net/wireless/ath/ath12k/dp_rx.c  | 56 ------------------------
 drivers/net/wireless/ath/ath12k/dp_tx.c  | 44 +------------------
 drivers/net/wireless/ath/ath12k/dp_tx.h  |  1 -
 6 files changed, 2 insertions(+), 157 deletions(-)


base-commit: bf99bc7423e18aa3475ef00a7a6fb773c31ce6df
-- 
2.34.1


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCHv2 1/3] wifi: ath12k: fix calling correct function for rx monitor mode
  2024-04-27 16:26 [PATCHv2 0/3] wifi: ath12k: Remove unsupported and unused ring configurations Tamizh Chelvam Raja
@ 2024-04-27 16:26 ` Tamizh Chelvam Raja
  2024-04-28  4:58   ` Karthikeyan Periyasamy
  2024-04-27 16:26 ` [PATCHv2 2/3] wifi: ath12k: Remove unsupported tx monitor handling Tamizh Chelvam Raja
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 8+ messages in thread
From: Tamizh Chelvam Raja @ 2024-04-27 16:26 UTC (permalink / raw)
  To: ath12k; +Cc: linux-wireless, Tamizh Chelvam Raja

Currently in ath12k_dp_tx_htt_monitor_mode_ring_config()
ath12k_dp_tx_htt_tx_monitor_mode_ring_config() function wrongly called twice.
Fix that by calling ath12k_dp_tx_htt_rx_monitor_mode_ring_config().

Currently monitor mode is disabled in driver so the change is compile
tested and boot sequence verified.

Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.0.1-00029-QCAHKSWPL_SILICONZ-1

Signed-off-by: Tamizh Chelvam Raja <quic_tamizhr@quicinc.com>
---
 drivers/net/wireless/ath/ath12k/dp_tx.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/wireless/ath/ath12k/dp_tx.c b/drivers/net/wireless/ath/ath12k/dp_tx.c
index 9b6d7d72f57c..2fb9fc42db11 100644
--- a/drivers/net/wireless/ath/ath12k/dp_tx.c
+++ b/drivers/net/wireless/ath/ath12k/dp_tx.c
@@ -1044,7 +1044,7 @@ int ath12k_dp_tx_htt_monitor_mode_ring_config(struct ath12k *ar, bool reset)
 	struct ath12k_base *ab = ar->ab;
 	int ret;
 
-	ret = ath12k_dp_tx_htt_tx_monitor_mode_ring_config(ar, reset);
+	ret = ath12k_dp_tx_htt_rx_monitor_mode_ring_config(ar, reset);
 	if (ret) {
 		ath12k_err(ab, "failed to setup tx monitor filter %d\n", ret);
 		return ret;
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCHv2 2/3] wifi: ath12k: Remove unsupported tx monitor handling
  2024-04-27 16:26 [PATCHv2 0/3] wifi: ath12k: Remove unsupported and unused ring configurations Tamizh Chelvam Raja
  2024-04-27 16:26 ` [PATCHv2 1/3] wifi: ath12k: fix calling correct function for rx monitor mode Tamizh Chelvam Raja
@ 2024-04-27 16:26 ` Tamizh Chelvam Raja
  2024-04-27 16:26 ` [PATCHv2 3/3] wifi: ath12k: Remove unused tcl_*_ring configuration Tamizh Chelvam Raja
  2024-04-28  3:29 ` [PATCHv2 0/3] wifi: ath12k: Remove unsupported and unused ring configurations Vasanthakumar Thiagarajan
  3 siblings, 0 replies; 8+ messages in thread
From: Tamizh Chelvam Raja @ 2024-04-27 16:26 UTC (permalink / raw)
  To: ath12k; +Cc: linux-wireless, Tamizh Chelvam Raja

Currently tx monitor is not supported in driver.So remove
the tx monitor ring configuration, allocation and handling.

Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.0.1-00029-QCAHKSWPL_SILICONZ-1

Signed-off-by: Tamizh Chelvam Raja <quic_tamizhr@quicinc.com>
---
 drivers/net/wireless/ath/ath12k/dp_mon.c | 40 +----------------
 drivers/net/wireless/ath/ath12k/dp_rx.c  | 56 ------------------------
 drivers/net/wireless/ath/ath12k/dp_tx.c  | 42 ------------------
 drivers/net/wireless/ath/ath12k/dp_tx.h  |  1 -
 4 files changed, 1 insertion(+), 138 deletions(-)

diff --git a/drivers/net/wireless/ath/ath12k/dp_mon.c b/drivers/net/wireless/ath/ath12k/dp_mon.c
index 6b0b72477540..5c6749bc4039 100644
--- a/drivers/net/wireless/ath/ath12k/dp_mon.c
+++ b/drivers/net/wireless/ath/ath12k/dp_mon.c
@@ -1903,43 +1903,6 @@ ath12k_dp_mon_tx_parse_status_tlv(struct ath12k_base *ab,
 		break;
 	}
 
-	case HAL_MON_BUF_ADDR: {
-		struct dp_rxdma_mon_ring *buf_ring = &ab->dp.tx_mon_buf_ring;
-		struct dp_mon_packet_info *packet_info =
-			(struct dp_mon_packet_info *)tlv_data;
-		int buf_id = u32_get_bits(packet_info->cookie,
-					  DP_RXDMA_BUF_COOKIE_BUF_ID);
-		struct sk_buff *msdu;
-		struct dp_mon_mpdu *mon_mpdu = tx_ppdu_info->tx_mon_mpdu;
-		struct ath12k_skb_rxcb *rxcb;
-
-		spin_lock_bh(&buf_ring->idr_lock);
-		msdu = idr_remove(&buf_ring->bufs_idr, buf_id);
-		spin_unlock_bh(&buf_ring->idr_lock);
-
-		if (unlikely(!msdu)) {
-			ath12k_warn(ab, "monitor destination with invalid buf_id %d\n",
-				    buf_id);
-			return DP_MON_TX_STATUS_PPDU_NOT_DONE;
-		}
-
-		rxcb = ATH12K_SKB_RXCB(msdu);
-		dma_unmap_single(ab->dev, rxcb->paddr,
-				 msdu->len + skb_tailroom(msdu),
-				 DMA_FROM_DEVICE);
-
-		if (!mon_mpdu->head)
-			mon_mpdu->head = msdu;
-		else if (mon_mpdu->tail)
-			mon_mpdu->tail->next = msdu;
-
-		mon_mpdu->tail = msdu;
-
-		ath12k_dp_mon_buf_replenish(ab, buf_ring, 1);
-		status = DP_MON_TX_BUFFER_ADDR;
-		break;
-	}
-
 	case HAL_TX_MPDU_END:
 		list_add_tail(&tx_ppdu_info->tx_mon_mpdu->list,
 			      &tx_ppdu_info->dp_tx_mon_mpdu_list);
@@ -2088,8 +2051,7 @@ int ath12k_dp_mon_srng_process(struct ath12k *ar, int mac_id, int *budget,
 		mon_dst_ring = &pdev_dp->rxdma_mon_dst_ring[srng_id];
 		buf_ring = &dp->rxdma_mon_buf_ring;
 	} else {
-		mon_dst_ring = &pdev_dp->tx_mon_dst_ring[srng_id];
-		buf_ring = &dp->tx_mon_buf_ring;
+		return 0;
 	}
 
 	srng = &ab->hal.srng_list[mon_dst_ring->ring_id];
diff --git a/drivers/net/wireless/ath/ath12k/dp_rx.c b/drivers/net/wireless/ath/ath12k/dp_rx.c
index 75df622f25d8..ada7bc8719b7 100644
--- a/drivers/net/wireless/ath/ath12k/dp_rx.c
+++ b/drivers/net/wireless/ath/ath12k/dp_rx.c
@@ -422,8 +422,6 @@ static int ath12k_dp_rxdma_buf_free(struct ath12k_base *ab)
 
 	ath12k_dp_rxdma_mon_buf_ring_free(ab, &dp->rxdma_mon_buf_ring);
 
-	ath12k_dp_rxdma_mon_buf_ring_free(ab, &dp->tx_mon_buf_ring);
-
 	return 0;
 }
 
@@ -476,15 +474,6 @@ static int ath12k_dp_rxdma_buf_setup(struct ath12k_base *ab)
 				    "failed to setup HAL_RXDMA_MONITOR_BUF\n");
 			return ret;
 		}
-
-		ret = ath12k_dp_rxdma_mon_ring_buf_setup(ab,
-							 &dp->tx_mon_buf_ring,
-							 HAL_TX_MONITOR_BUF);
-		if (ret) {
-			ath12k_warn(ab,
-				    "failed to setup HAL_TX_MONITOR_BUF\n");
-			return ret;
-		}
 	}
 
 	return 0;
@@ -498,7 +487,6 @@ static void ath12k_dp_rx_pdev_srng_free(struct ath12k *ar)
 
 	for (i = 0; i < ab->hw_params->num_rxmda_per_pdev; i++) {
 		ath12k_dp_srng_cleanup(ab, &dp->rxdma_mon_dst_ring[i]);
-		ath12k_dp_srng_cleanup(ab, &dp->tx_mon_dst_ring[i]);
 	}
 }
 
@@ -554,17 +542,6 @@ static int ath12k_dp_rx_pdev_srng_alloc(struct ath12k *ar)
 				    "failed to setup HAL_RXDMA_MONITOR_DST\n");
 			return ret;
 		}
-
-		ret = ath12k_dp_srng_setup(ar->ab,
-					   &dp->tx_mon_dst_ring[i],
-					   HAL_TX_MONITOR_DST,
-					   0, mac_id + i,
-					   DP_TX_MONITOR_DEST_RING_SIZE);
-		if (ret) {
-			ath12k_warn(ar->ab,
-				    "failed to setup HAL_TX_MONITOR_DST\n");
-			return ret;
-		}
 	}
 
 	return 0;
@@ -3970,7 +3947,6 @@ void ath12k_dp_rx_free(struct ath12k_base *ab)
 		ath12k_dp_srng_cleanup(ab, &dp->rxdma_err_dst_ring[i]);
 
 	ath12k_dp_srng_cleanup(ab, &dp->rxdma_mon_buf_ring.refill_buf_ring);
-	ath12k_dp_srng_cleanup(ab, &dp->tx_mon_buf_ring.refill_buf_ring);
 
 	ath12k_dp_rxdma_buf_free(ab);
 }
@@ -4113,15 +4089,6 @@ int ath12k_dp_rx_htt_setup(struct ath12k_base *ab)
 				    ret);
 			return ret;
 		}
-
-		ring_id = dp->tx_mon_buf_ring.refill_buf_ring.ring_id;
-		ret = ath12k_dp_tx_htt_srng_setup(ab, ring_id,
-						  0, HAL_TX_MONITOR_BUF);
-		if (ret) {
-			ath12k_warn(ab, "failed to configure rxdma_mon_buf_ring %d\n",
-				    ret);
-			return ret;
-		}
 	}
 
 	ret = ab->hw_params->hw_ops->rxdma_ring_sel_config(ab);
@@ -4141,9 +4108,6 @@ int ath12k_dp_rx_alloc(struct ath12k_base *ab)
 	idr_init(&dp->rxdma_mon_buf_ring.bufs_idr);
 	spin_lock_init(&dp->rxdma_mon_buf_ring.idr_lock);
 
-	idr_init(&dp->tx_mon_buf_ring.bufs_idr);
-	spin_lock_init(&dp->tx_mon_buf_ring.idr_lock);
-
 	ret = ath12k_dp_srng_setup(ab,
 				   &dp->rx_refill_buf_ring.refill_buf_ring,
 				   HAL_RXDMA_BUF, 0, 0,
@@ -4186,15 +4150,6 @@ int ath12k_dp_rx_alloc(struct ath12k_base *ab)
 			ath12k_warn(ab, "failed to setup HAL_RXDMA_MONITOR_BUF\n");
 			return ret;
 		}
-
-		ret = ath12k_dp_srng_setup(ab,
-					   &dp->tx_mon_buf_ring.refill_buf_ring,
-					   HAL_TX_MONITOR_BUF, 0, 0,
-					   DP_TX_MONITOR_BUF_RING_SIZE);
-		if (ret) {
-			ath12k_warn(ab, "failed to setup DP_TX_MONITOR_BUF_RING_SIZE\n");
-			return ret;
-		}
 	}
 
 	ret = ath12k_dp_rxdma_buf_setup(ab);
@@ -4234,17 +4189,6 @@ int ath12k_dp_rx_pdev_alloc(struct ath12k_base *ab, int mac_id)
 				    i, ret);
 			return ret;
 		}
-
-		ring_id = dp->tx_mon_dst_ring[i].ring_id;
-		ret = ath12k_dp_tx_htt_srng_setup(ab, ring_id,
-						  mac_id + i,
-						  HAL_TX_MONITOR_DST);
-		if (ret) {
-			ath12k_warn(ab,
-				    "failed to configure tx_mon_dst_ring %d %d\n",
-				    i, ret);
-			return ret;
-		}
 	}
 out:
 	return 0;
diff --git a/drivers/net/wireless/ath/ath12k/dp_tx.c b/drivers/net/wireless/ath/ath12k/dp_tx.c
index 2fb9fc42db11..a9534d31a8b4 100644
--- a/drivers/net/wireless/ath/ath12k/dp_tx.c
+++ b/drivers/net/wireless/ath/ath12k/dp_tx.c
@@ -669,14 +669,6 @@ ath12k_dp_tx_get_ring_id_type(struct ath12k_base *ab,
 		*htt_ring_id = HTT_RXDMA_MONITOR_DESC_RING;
 		*htt_ring_type = HTT_SW_TO_HW_RING;
 		break;
-	case HAL_TX_MONITOR_BUF:
-		*htt_ring_id = HTT_TX_MON_HOST2MON_BUF_RING;
-		*htt_ring_type = HTT_SW_TO_HW_RING;
-		break;
-	case HAL_TX_MONITOR_DST:
-		*htt_ring_id = HTT_TX_MON_MON2HOST_DEST_RING;
-		*htt_ring_type = HTT_HW_TO_SW_RING;
-		break;
 	default:
 		ath12k_warn(ab, "Unsupported ring type in DP :%d\n", ring_type);
 		ret = -EINVAL;
@@ -1050,12 +1042,6 @@ int ath12k_dp_tx_htt_monitor_mode_ring_config(struct ath12k *ar, bool reset)
 		return ret;
 	}
 
-	ret = ath12k_dp_tx_htt_tx_monitor_mode_ring_config(ar, reset);
-	if (ret) {
-		ath12k_err(ab, "failed to setup rx monitor filter %d\n", ret);
-		return ret;
-	}
-
 	return 0;
 }
 
@@ -1209,31 +1195,3 @@ int ath12k_dp_tx_htt_tx_filter_setup(struct ath12k_base *ab, u32 ring_id,
 	dev_kfree_skb_any(skb);
 	return ret;
 }
-
-int ath12k_dp_tx_htt_tx_monitor_mode_ring_config(struct ath12k *ar, bool reset)
-{
-	struct ath12k_base *ab = ar->ab;
-	struct ath12k_dp *dp = &ab->dp;
-	struct htt_tx_ring_tlv_filter tlv_filter = {0};
-	int ret, ring_id;
-
-	ring_id = dp->tx_mon_buf_ring.refill_buf_ring.ring_id;
-
-	/* TODO: Need to set upstream/downstream tlv filters
-	 * here
-	 */
-
-	if (ab->hw_params->rxdma1_enable) {
-		ret = ath12k_dp_tx_htt_tx_filter_setup(ar->ab, ring_id, 0,
-						       HAL_TX_MONITOR_BUF,
-						       DP_RXDMA_REFILL_RING_SIZE,
-						       &tlv_filter);
-		if (ret) {
-			ath12k_err(ab,
-				   "failed to setup filter for monitor buf %d\n", ret);
-			return ret;
-		}
-	}
-
-	return 0;
-}
diff --git a/drivers/net/wireless/ath/ath12k/dp_tx.h b/drivers/net/wireless/ath/ath12k/dp_tx.h
index 436d77e5e9ee..5f2fa3b69577 100644
--- a/drivers/net/wireless/ath/ath12k/dp_tx.h
+++ b/drivers/net/wireless/ath/ath12k/dp_tx.h
@@ -36,6 +36,5 @@ int ath12k_dp_tx_htt_tx_filter_setup(struct ath12k_base *ab, u32 ring_id,
 				     int mac_id, enum hal_ring_type ring_type,
 				     int tx_buf_size,
 				     struct htt_tx_ring_tlv_filter *htt_tlv_filter);
-int ath12k_dp_tx_htt_tx_monitor_mode_ring_config(struct ath12k *ar, bool reset);
 int ath12k_dp_tx_htt_monitor_mode_ring_config(struct ath12k *ar, bool reset);
 #endif
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCHv2 3/3] wifi: ath12k: Remove unused tcl_*_ring configuration
  2024-04-27 16:26 [PATCHv2 0/3] wifi: ath12k: Remove unsupported and unused ring configurations Tamizh Chelvam Raja
  2024-04-27 16:26 ` [PATCHv2 1/3] wifi: ath12k: fix calling correct function for rx monitor mode Tamizh Chelvam Raja
  2024-04-27 16:26 ` [PATCHv2 2/3] wifi: ath12k: Remove unsupported tx monitor handling Tamizh Chelvam Raja
@ 2024-04-27 16:26 ` Tamizh Chelvam Raja
  2024-04-28  3:29 ` [PATCHv2 0/3] wifi: ath12k: Remove unsupported and unused ring configurations Vasanthakumar Thiagarajan
  3 siblings, 0 replies; 8+ messages in thread
From: Tamizh Chelvam Raja @ 2024-04-27 16:26 UTC (permalink / raw)
  To: ath12k; +Cc: linux-wireless, Tamizh Chelvam Raja

Currently memory allocation for multiple hardware rings done
in host as these memory will be used by firmware/hardware.
But in case of tcl_cmd_ring and tcl_status_ring neither firmware
nor hardware uses host allocated memory and it uses memory
allocated by firmware itself. So avoid tcl_cmd_ring and
tcl_status_ring setup in host.

Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.0.1-00029-QCAHKSWPL_SILICONZ-1

Signed-off-by: Tamizh Chelvam Raja <quic_tamizhr@quicinc.com>
---
 drivers/net/wireless/ath/ath12k/dp.c | 16 ----------------
 drivers/net/wireless/ath/ath12k/dp.h |  2 --
 2 files changed, 18 deletions(-)

diff --git a/drivers/net/wireless/ath/ath12k/dp.c b/drivers/net/wireless/ath/ath12k/dp.c
index 963b9ad4dc82..d91d5c308210 100644
--- a/drivers/net/wireless/ath/ath12k/dp.c
+++ b/drivers/net/wireless/ath/ath12k/dp.c
@@ -457,8 +457,6 @@ static void ath12k_dp_srng_common_cleanup(struct ath12k_base *ab)
 		ath12k_dp_srng_cleanup(ab, &dp->tx_ring[i].tcl_comp_ring);
 		ath12k_dp_srng_cleanup(ab, &dp->tx_ring[i].tcl_data_ring);
 	}
-	ath12k_dp_srng_cleanup(ab, &dp->tcl_status_ring);
-	ath12k_dp_srng_cleanup(ab, &dp->tcl_cmd_ring);
 	ath12k_dp_srng_cleanup(ab, &dp->wbm_desc_rel_ring);
 }
 
@@ -479,20 +477,6 @@ static int ath12k_dp_srng_common_setup(struct ath12k_base *ab)
 		goto err;
 	}
 
-	ret = ath12k_dp_srng_setup(ab, &dp->tcl_cmd_ring, HAL_TCL_CMD, 0, 0,
-				   DP_TCL_CMD_RING_SIZE);
-	if (ret) {
-		ath12k_warn(ab, "failed to set up tcl_cmd ring :%d\n", ret);
-		goto err;
-	}
-
-	ret = ath12k_dp_srng_setup(ab, &dp->tcl_status_ring, HAL_TCL_STATUS,
-				   0, 0, DP_TCL_STATUS_RING_SIZE);
-	if (ret) {
-		ath12k_warn(ab, "failed to set up tcl_status ring :%d\n", ret);
-		goto err;
-	}
-
 	for (i = 0; i < ab->hw_params->max_tx_ring; i++) {
 		map = ab->hw_params->hal_ops->tcl_to_wbm_rbm_map;
 		tx_comp_ring_num = map[i].wbm_ring_num;
diff --git a/drivers/net/wireless/ath/ath12k/dp.h b/drivers/net/wireless/ath/ath12k/dp.h
index 5cf0d21ef184..21afdb51b6e6 100644
--- a/drivers/net/wireless/ath/ath12k/dp.h
+++ b/drivers/net/wireless/ath/ath12k/dp.h
@@ -327,8 +327,6 @@ struct ath12k_dp {
 	struct dp_link_desc_bank link_desc_banks[DP_LINK_DESC_BANKS_MAX];
 	struct dp_srng wbm_idle_ring;
 	struct dp_srng wbm_desc_rel_ring;
-	struct dp_srng tcl_cmd_ring;
-	struct dp_srng tcl_status_ring;
 	struct dp_srng reo_reinject_ring;
 	struct dp_srng rx_rel_ring;
 	struct dp_srng reo_except_ring;
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCHv2 0/3] wifi: ath12k: Remove unsupported and unused ring configurations
  2024-04-27 16:26 [PATCHv2 0/3] wifi: ath12k: Remove unsupported and unused ring configurations Tamizh Chelvam Raja
                   ` (2 preceding siblings ...)
  2024-04-27 16:26 ` [PATCHv2 3/3] wifi: ath12k: Remove unused tcl_*_ring configuration Tamizh Chelvam Raja
@ 2024-04-28  3:29 ` Vasanthakumar Thiagarajan
  2024-04-29  4:24   ` Tamizh Chelvam Raja
  3 siblings, 1 reply; 8+ messages in thread
From: Vasanthakumar Thiagarajan @ 2024-04-28  3:29 UTC (permalink / raw)
  To: Tamizh Chelvam Raja, ath12k; +Cc: linux-wireless



On 4/27/2024 9:56 PM, Tamizh Chelvam Raja wrote:
> Currently in driver doing memory allocation for tx_monitor,
> tcl_cmd_ring and tcl_status ring. Here driver support for
> tx_monitor mode is not there and memory for tcl_cmd and tcl_status
> rings are allocated by firmware and it uses that memory instead of
> host allocated. So avoid these unused ring setup configuration.
> 
> Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.0.1-00029-QCAHKSWPL_SILICONZ-1
> 
> Tamizh Chelvam Raja (3):
>    wifi: ath12k: fix calling correct function for rx monitor mode
>    wifi: ath12k: Remove unsupported tx monitor handling
>    wifi: ath12k: Remove unused tcl_*_ring configuration
> 
> v2:
>    * Rebased on top of ToT
> 
>   drivers/net/wireless/ath/ath12k/dp.c     | 16 -------
>   drivers/net/wireless/ath/ath12k/dp.h     |  2 -
>   drivers/net/wireless/ath/ath12k/dp_mon.c | 40 +----------------
>   drivers/net/wireless/ath/ath12k/dp_rx.c  | 56 ------------------------
>   drivers/net/wireless/ath/ath12k/dp_tx.c  | 44 +------------------
>   drivers/net/wireless/ath/ath12k/dp_tx.h  |  1 -
>   6 files changed, 2 insertions(+), 157 deletions(-)
> 
> 

It nice to see code removal in general :)
But I've also seen some concerns internally around code removal
especially when the code will have to be re-added in future while
properly supporting the feature. I guess the cover letter
may need to clarify those concerns at least for internal review.

Other than that, the series LGTM

Vasanth

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCHv2 1/3] wifi: ath12k: fix calling correct function for rx monitor mode
  2024-04-27 16:26 ` [PATCHv2 1/3] wifi: ath12k: fix calling correct function for rx monitor mode Tamizh Chelvam Raja
@ 2024-04-28  4:58   ` Karthikeyan Periyasamy
  0 siblings, 0 replies; 8+ messages in thread
From: Karthikeyan Periyasamy @ 2024-04-28  4:58 UTC (permalink / raw)
  To: Tamizh Chelvam Raja, ath12k; +Cc: linux-wireless



On 4/27/2024 9:56 PM, Tamizh Chelvam Raja wrote:
> Currently in ath12k_dp_tx_htt_monitor_mode_ring_config()
> ath12k_dp_tx_htt_tx_monitor_mode_ring_config() function wrongly called twice.
> Fix that by calling ath12k_dp_tx_htt_rx_monitor_mode_ring_config().
> 
> Currently monitor mode is disabled in driver so the change is compile
> tested and boot sequence verified.
> 
> Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.0.1-00029-QCAHKSWPL_SILICONZ-1
> 
> Signed-off-by: Tamizh Chelvam Raja <quic_tamizhr@quicinc.com>
> ---
>   drivers/net/wireless/ath/ath12k/dp_tx.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/net/wireless/ath/ath12k/dp_tx.c b/drivers/net/wireless/ath/ath12k/dp_tx.c
> index 9b6d7d72f57c..2fb9fc42db11 100644
> --- a/drivers/net/wireless/ath/ath12k/dp_tx.c
> +++ b/drivers/net/wireless/ath/ath12k/dp_tx.c
> @@ -1044,7 +1044,7 @@ int ath12k_dp_tx_htt_monitor_mode_ring_config(struct ath12k *ar, bool reset)
>   	struct ath12k_base *ab = ar->ab;
>   	int ret;
>   
> -	ret = ath12k_dp_tx_htt_tx_monitor_mode_ring_config(ar, reset);
> +	ret = ath12k_dp_tx_htt_rx_monitor_mode_ring_config(ar, reset);
>   	if (ret) {
>   		ath12k_err(ab, "failed to setup tx monitor filter %d\n", ret);
>   		return ret;


Looks like you modifying in wrong place because the debug log 
information is not matching the rx message. no ?

-- 
Karthikeyan Periyasamy
--
கார்த்திகேயன் பெரியசாமி

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCHv2 0/3] wifi: ath12k: Remove unsupported and unused ring configurations
  2024-04-28  3:29 ` [PATCHv2 0/3] wifi: ath12k: Remove unsupported and unused ring configurations Vasanthakumar Thiagarajan
@ 2024-04-29  4:24   ` Tamizh Chelvam Raja
  2024-04-29  5:25     ` Vasanthakumar Thiagarajan
  0 siblings, 1 reply; 8+ messages in thread
From: Tamizh Chelvam Raja @ 2024-04-29  4:24 UTC (permalink / raw)
  To: Vasanthakumar Thiagarajan, ath12k; +Cc: linux-wireless

On 4/28/2024 8:59 AM, Vasanthakumar Thiagarajan wrote:
> 
> 
> On 4/27/2024 9:56 PM, Tamizh Chelvam Raja wrote:
>> Currently in driver doing memory allocation for tx_monitor,
>> tcl_cmd_ring and tcl_status ring. Here driver support for
>> tx_monitor mode is not there and memory for tcl_cmd and tcl_status
>> rings are allocated by firmware and it uses that memory instead of
>> host allocated. So avoid these unused ring setup configuration.
>>
>> Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.0.1-00029-QCAHKSWPL_SILICONZ-1
>>
>> Tamizh Chelvam Raja (3):
>>    wifi: ath12k: fix calling correct function for rx monitor mode
>>    wifi: ath12k: Remove unsupported tx monitor handling
>>    wifi: ath12k: Remove unused tcl_*_ring configuration
>>
>> v2:
>>    * Rebased on top of ToT
>>
>>   drivers/net/wireless/ath/ath12k/dp.c     | 16 -------
>>   drivers/net/wireless/ath/ath12k/dp.h     |  2 -
>>   drivers/net/wireless/ath/ath12k/dp_mon.c | 40 +----------------
>>   drivers/net/wireless/ath/ath12k/dp_rx.c  | 56 ------------------------
>>   drivers/net/wireless/ath/ath12k/dp_tx.c  | 44 +------------------
>>   drivers/net/wireless/ath/ath12k/dp_tx.h  |  1 -
>>   6 files changed, 2 insertions(+), 157 deletions(-)
>>
>>
> 
> It nice to see code removal in general :)
> But I've also seen some concerns internally around code removal
> especially when the code will have to be re-added in future while
> properly supporting the feature. I guess the cover letter
> may need to clarify those concerns at least for internal review.
> 
This is mainly to avoid unnecessary memory allocation for the unused rings.
And this can be added in the future while enabling the feature.
> Other than that, the series LGTM
> > Vasanth
Tamizh

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCHv2 0/3] wifi: ath12k: Remove unsupported and unused ring configurations
  2024-04-29  4:24   ` Tamizh Chelvam Raja
@ 2024-04-29  5:25     ` Vasanthakumar Thiagarajan
  0 siblings, 0 replies; 8+ messages in thread
From: Vasanthakumar Thiagarajan @ 2024-04-29  5:25 UTC (permalink / raw)
  To: Tamizh Chelvam Raja, ath12k; +Cc: linux-wireless



On 4/29/2024 9:54 AM, Tamizh Chelvam Raja wrote:
> On 4/28/2024 8:59 AM, Vasanthakumar Thiagarajan wrote:
>>
>>
>> On 4/27/2024 9:56 PM, Tamizh Chelvam Raja wrote:
>>> Currently in driver doing memory allocation for tx_monitor,
>>> tcl_cmd_ring and tcl_status ring. Here driver support for
>>> tx_monitor mode is not there and memory for tcl_cmd and tcl_status
>>> rings are allocated by firmware and it uses that memory instead of
>>> host allocated. So avoid these unused ring setup configuration.
>>>
>>> Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.0.1-00029-QCAHKSWPL_SILICONZ-1
>>>
>>> Tamizh Chelvam Raja (3):
>>>     wifi: ath12k: fix calling correct function for rx monitor mode
>>>     wifi: ath12k: Remove unsupported tx monitor handling
>>>     wifi: ath12k: Remove unused tcl_*_ring configuration
>>>
>>> v2:
>>>     * Rebased on top of ToT
>>>
>>>    drivers/net/wireless/ath/ath12k/dp.c     | 16 -------
>>>    drivers/net/wireless/ath/ath12k/dp.h     |  2 -
>>>    drivers/net/wireless/ath/ath12k/dp_mon.c | 40 +----------------
>>>    drivers/net/wireless/ath/ath12k/dp_rx.c  | 56 ------------------------
>>>    drivers/net/wireless/ath/ath12k/dp_tx.c  | 44 +------------------
>>>    drivers/net/wireless/ath/ath12k/dp_tx.h  |  1 -
>>>    6 files changed, 2 insertions(+), 157 deletions(-)
>>>
>>>
>>
>> It nice to see code removal in general :)
>> But I've also seen some concerns internally around code removal
>> especially when the code will have to be re-added in future while
>> properly supporting the feature. I guess the cover letter
>> may need to clarify those concerns at least for internal review.
>>
> This is mainly to avoid unnecessary memory allocation for the unused rings.
> And this can be added in the future while enabling the feature.

I agree. I think I somehow overlooked the memory optimization part. Thanks
for the clarification.

Vasanth

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2024-04-29  5:26 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-04-27 16:26 [PATCHv2 0/3] wifi: ath12k: Remove unsupported and unused ring configurations Tamizh Chelvam Raja
2024-04-27 16:26 ` [PATCHv2 1/3] wifi: ath12k: fix calling correct function for rx monitor mode Tamizh Chelvam Raja
2024-04-28  4:58   ` Karthikeyan Periyasamy
2024-04-27 16:26 ` [PATCHv2 2/3] wifi: ath12k: Remove unsupported tx monitor handling Tamizh Chelvam Raja
2024-04-27 16:26 ` [PATCHv2 3/3] wifi: ath12k: Remove unused tcl_*_ring configuration Tamizh Chelvam Raja
2024-04-28  3:29 ` [PATCHv2 0/3] wifi: ath12k: Remove unsupported and unused ring configurations Vasanthakumar Thiagarajan
2024-04-29  4:24   ` Tamizh Chelvam Raja
2024-04-29  5:25     ` Vasanthakumar Thiagarajan

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.