* [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
* 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
* [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 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 a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox