linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] wifi: rtw89: 8852b: change debug mask of message of no TX resource
@ 2022-11-03  7:25 Ping-Ke Shih
  2022-11-07 12:32 ` Kalle Valo
  0 siblings, 1 reply; 3+ messages in thread
From: Ping-Ke Shih @ 2022-11-03  7:25 UTC (permalink / raw)
  To: kvalo; +Cc: linux-wireless

8852B has smaller TX FIFO than others in WiFi chip, so it would be buffer
full frequently, but it doesn't affect TX performance. However, it shows
verbose debug messages with RTW89_DBG_UNEXP mask that is to show up
abnormal behavior, so change debug mask to RTW89_DBG_TXRX for 8852B.

Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
---
 drivers/net/wireless/realtek/rtw89/pci.c | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/drivers/net/wireless/realtek/rtw89/pci.c b/drivers/net/wireless/realtek/rtw89/pci.c
index 07a2e23759f0b..99a254d7ba5ed 100644
--- a/drivers/net/wireless/realtek/rtw89/pci.c
+++ b/drivers/net/wireless/realtek/rtw89/pci.c
@@ -971,8 +971,10 @@ static u32 __rtw89_pci_check_and_reclaim_tx_resource(struct rtw89_dev *rtwdev,
 	struct rtw89_pci *rtwpci = (struct rtw89_pci *)rtwdev->priv;
 	struct rtw89_pci_tx_ring *tx_ring = &rtwpci->tx_rings[txch];
 	struct rtw89_pci_tx_wd_ring *wd_ring = &tx_ring->wd_ring;
+	const struct rtw89_chip_info *chip = rtwdev->chip;
 	u32 bd_cnt, wd_cnt, min_cnt = 0;
 	struct rtw89_pci_rx_ring *rx_ring;
+	enum rtw89_debug_mask debug_mask;
 	u32 cnt;
 
 	rx_ring = &rtwpci->rx_rings[RTW89_RXCH_RPQ];
@@ -996,10 +998,16 @@ static u32 __rtw89_pci_check_and_reclaim_tx_resource(struct rtw89_dev *rtwdev,
 	bd_cnt = rtw89_pci_get_avail_txbd_num(tx_ring);
 	wd_cnt = wd_ring->curr_num;
 	min_cnt = min(bd_cnt, wd_cnt);
-	if (min_cnt == 0)
-		rtw89_debug(rtwdev, rtwpci->low_power ? RTW89_DBG_TXRX : RTW89_DBG_UNEXP,
+	if (min_cnt == 0) {
+		if (rtwpci->low_power || chip->chip_id == RTL8852B)
+			debug_mask = RTW89_DBG_TXRX;
+		else
+			debug_mask = RTW89_DBG_UNEXP;
+
+		rtw89_debug(rtwdev, debug_mask,
 			    "still no tx resource after reclaim: wd_cnt=%d bd_cnt=%d\n",
 			    wd_cnt, bd_cnt);
+	}
 
 out_unlock:
 	spin_unlock_bh(&rtwpci->trx_lock);
-- 
2.25.1


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

* Re: [PATCH] wifi: rtw89: 8852b: change debug mask of message of no TX resource
  2022-11-03  7:25 [PATCH] wifi: rtw89: 8852b: change debug mask of message of no TX resource Ping-Ke Shih
@ 2022-11-07 12:32 ` Kalle Valo
  2022-11-08  0:42   ` Ping-Ke Shih
  0 siblings, 1 reply; 3+ messages in thread
From: Kalle Valo @ 2022-11-07 12:32 UTC (permalink / raw)
  To: Ping-Ke Shih; +Cc: linux-wireless

Ping-Ke Shih <pkshih@realtek.com> writes:

> 8852B has smaller TX FIFO than others in WiFi chip, so it would be buffer
> full frequently, but it doesn't affect TX performance. However, it shows
> verbose debug messages with RTW89_DBG_UNEXP mask that is to show up
> abnormal behavior, so change debug mask to RTW89_DBG_TXRX for 8852B.
>
> Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
> ---
>  drivers/net/wireless/realtek/rtw89/pci.c | 12 ++++++++++--
>  1 file changed, 10 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/net/wireless/realtek/rtw89/pci.c b/drivers/net/wireless/realtek/rtw89/pci.c
> index 07a2e23759f0b..99a254d7ba5ed 100644
> --- a/drivers/net/wireless/realtek/rtw89/pci.c
> +++ b/drivers/net/wireless/realtek/rtw89/pci.c
> @@ -971,8 +971,10 @@ static u32 __rtw89_pci_check_and_reclaim_tx_resource(struct rtw89_dev *rtwdev,
>  	struct rtw89_pci *rtwpci = (struct rtw89_pci *)rtwdev->priv;
>  	struct rtw89_pci_tx_ring *tx_ring = &rtwpci->tx_rings[txch];
>  	struct rtw89_pci_tx_wd_ring *wd_ring = &tx_ring->wd_ring;
> +	const struct rtw89_chip_info *chip = rtwdev->chip;
>  	u32 bd_cnt, wd_cnt, min_cnt = 0;
>  	struct rtw89_pci_rx_ring *rx_ring;
> +	enum rtw89_debug_mask debug_mask;
>  	u32 cnt;
>  
>  	rx_ring = &rtwpci->rx_rings[RTW89_RXCH_RPQ];
> @@ -996,10 +998,16 @@ static u32 __rtw89_pci_check_and_reclaim_tx_resource(struct rtw89_dev *rtwdev,
>  	bd_cnt = rtw89_pci_get_avail_txbd_num(tx_ring);
>  	wd_cnt = wd_ring->curr_num;
>  	min_cnt = min(bd_cnt, wd_cnt);
> -	if (min_cnt == 0)
> -		rtw89_debug(rtwdev, rtwpci->low_power ? RTW89_DBG_TXRX : RTW89_DBG_UNEXP,
> +	if (min_cnt == 0) {
> +		if (rtwpci->low_power || chip->chip_id == RTL8852B)
> +			debug_mask = RTW89_DBG_TXRX;
> +		else
> +			debug_mask = RTW89_DBG_UNEXP;
> +
> +		rtw89_debug(rtwdev, debug_mask,
>  			    "still no tx resource after reclaim: wd_cnt=%d bd_cnt=%d\n",
>  			    wd_cnt, bd_cnt);
> +	}

Changing the debug mask like this looks a bit weird to me. At least it
would be good to have a comment in the code explainin why this is done
like this.

-- 
https://patchwork.kernel.org/project/linux-wireless/list/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches

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

* RE: [PATCH] wifi: rtw89: 8852b: change debug mask of message of no TX resource
  2022-11-07 12:32 ` Kalle Valo
@ 2022-11-08  0:42   ` Ping-Ke Shih
  0 siblings, 0 replies; 3+ messages in thread
From: Ping-Ke Shih @ 2022-11-08  0:42 UTC (permalink / raw)
  To: Kalle Valo; +Cc: linux-wireless@vger.kernel.org



> -----Original Message-----
> From: Kalle Valo <kvalo@kernel.org>
> Sent: Monday, November 7, 2022 8:33 PM
> To: Ping-Ke Shih <pkshih@realtek.com>
> Cc: linux-wireless@vger.kernel.org
> Subject: Re: [PATCH] wifi: rtw89: 8852b: change debug mask of message of no TX resource
> 
> Ping-Ke Shih <pkshih@realtek.com> writes:
> 
> > 8852B has smaller TX FIFO than others in WiFi chip, so it would be buffer
> > full frequently, but it doesn't affect TX performance. However, it shows
> > verbose debug messages with RTW89_DBG_UNEXP mask that is to show up
> > abnormal behavior, so change debug mask to RTW89_DBG_TXRX for 8852B.
> >
> > Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
> > ---
> >  drivers/net/wireless/realtek/rtw89/pci.c | 12 ++++++++++--
> >  1 file changed, 10 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/net/wireless/realtek/rtw89/pci.c b/drivers/net/wireless/realtek/rtw89/pci.c
> > index 07a2e23759f0b..99a254d7ba5ed 100644
> > --- a/drivers/net/wireless/realtek/rtw89/pci.c
> > +++ b/drivers/net/wireless/realtek/rtw89/pci.c
> > @@ -971,8 +971,10 @@ static u32 __rtw89_pci_check_and_reclaim_tx_resource(struct rtw89_dev *rtwdev,
> >  	struct rtw89_pci *rtwpci = (struct rtw89_pci *)rtwdev->priv;
> >  	struct rtw89_pci_tx_ring *tx_ring = &rtwpci->tx_rings[txch];
> >  	struct rtw89_pci_tx_wd_ring *wd_ring = &tx_ring->wd_ring;
> > +	const struct rtw89_chip_info *chip = rtwdev->chip;
> >  	u32 bd_cnt, wd_cnt, min_cnt = 0;
> >  	struct rtw89_pci_rx_ring *rx_ring;
> > +	enum rtw89_debug_mask debug_mask;
> >  	u32 cnt;
> >
> >  	rx_ring = &rtwpci->rx_rings[RTW89_RXCH_RPQ];
> > @@ -996,10 +998,16 @@ static u32 __rtw89_pci_check_and_reclaim_tx_resource(struct rtw89_dev *rtwdev,
> >  	bd_cnt = rtw89_pci_get_avail_txbd_num(tx_ring);
> >  	wd_cnt = wd_ring->curr_num;
> >  	min_cnt = min(bd_cnt, wd_cnt);
> > -	if (min_cnt == 0)
> > -		rtw89_debug(rtwdev, rtwpci->low_power ? RTW89_DBG_TXRX : RTW89_DBG_UNEXP,
> > +	if (min_cnt == 0) {
> > +		if (rtwpci->low_power || chip->chip_id == RTL8852B)
> > +			debug_mask = RTW89_DBG_TXRX;
> > +		else
> > +			debug_mask = RTW89_DBG_UNEXP;
> > +
> > +		rtw89_debug(rtwdev, debug_mask,
> >  			    "still no tx resource after reclaim: wd_cnt=%d bd_cnt=%d\n",
> >  			    wd_cnt, bd_cnt);
> > +	}
> 
> Changing the debug mask like this looks a bit weird to me. At least it
> would be good to have a comment in the code explainin why this is done
> like this.
> 

I will add a comment to figure out the reason.

Ping-Ke


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

end of thread, other threads:[~2022-11-08  0:42 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-11-03  7:25 [PATCH] wifi: rtw89: 8852b: change debug mask of message of no TX resource Ping-Ke Shih
2022-11-07 12:32 ` Kalle Valo
2022-11-08  0:42   ` Ping-Ke Shih

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).