[PATCH] wifi: rtw88: enable TX reports for the management queue

Andrey Skvortsov posted 1 patch 3 months, 1 week ago
There is a newer version of this series
drivers/net/wireless/realtek/rtw88/rtw8703b_tables.c | 1 -
drivers/net/wireless/realtek/rtw88/rtw8723d_table.c  | 1 -
2 files changed, 2 deletions(-)
[PATCH] wifi: rtw88: enable TX reports for the management queue
Posted by Andrey Skvortsov 3 months, 1 week ago
This is needed for AP mode. Otherwise client sees the network, but
can't connect to it.

REG_FWHW_TXQ_CTRL+1 is set to WLAN_TXQ_RPT_EN (0x1F) in common mac
init function (__rtw8723x_mac_init), but the value was overwritten
from mac table later.

Tested on rtl8723cs, that reuses rtw8703b driver.

Signed-off-by: Andrey Skvortsov <andrej.skvortzov@gmail.com>
---
 drivers/net/wireless/realtek/rtw88/rtw8703b_tables.c | 1 -
 drivers/net/wireless/realtek/rtw88/rtw8723d_table.c  | 1 -
 2 files changed, 2 deletions(-)

diff --git a/drivers/net/wireless/realtek/rtw88/rtw8703b_tables.c b/drivers/net/wireless/realtek/rtw88/rtw8703b_tables.c
index 81020fd907aa6..fe4b112f582ba 100644
--- a/drivers/net/wireless/realtek/rtw88/rtw8703b_tables.c
+++ b/drivers/net/wireless/realtek/rtw88/rtw8703b_tables.c
@@ -199,7 +199,6 @@ static const u32 rtw8703b_mac[] = {
 	0x035, 0x00000000,
 	0x067, 0x00000002,
 	0x092, 0x00000080,
-	0x421, 0x0000000F,
 	0x428, 0x0000000A,
 	0x429, 0x00000010,
 	0x430, 0x00000000,
diff --git a/drivers/net/wireless/realtek/rtw88/rtw8723d_table.c b/drivers/net/wireless/realtek/rtw88/rtw8723d_table.c
index 27a22b392df00..bc7c6111782b2 100644
--- a/drivers/net/wireless/realtek/rtw88/rtw8723d_table.c
+++ b/drivers/net/wireless/realtek/rtw88/rtw8723d_table.c
@@ -10,7 +10,6 @@ static const u32 rtw8723d_mac[] = {
 	0x020, 0x00000013,
 	0x02F, 0x00000010,
 	0x077, 0x00000007,
-	0x421, 0x0000000F,
 	0x428, 0x0000000A,
 	0x429, 0x00000010,
 	0x430, 0x00000000,
-- 
2.47.2
RE: [PATCH] wifi: rtw88: enable TX reports for the management queue
Posted by Ping-Ke Shih 3 months, 1 week ago
Andrey Skvortsov <andrej.skvortzov@gmail.com> wrote:
> This is needed for AP mode. Otherwise client sees the network, but
> can't connect to it.
> 
> REG_FWHW_TXQ_CTRL+1 is set to WLAN_TXQ_RPT_EN (0x1F) in common mac
> init function (__rtw8723x_mac_init), but the value was overwritten
> from mac table later.

Since the tables were copied from vendor driver, I suspect people might
overwrite the tables again resulting in regression. 

So we can add a mac_post_init to set the value after loading parameters:

  rtw_mac_init(rtwdev); // not set REG_FWHW_TXQ_CTRL+1 to WLAN_TXQ_RPT_EN

  chip->ops->phy_set_param(rtwdev); // "0x421, 0x0000000F," by table

  rtw_mac_postinit(rtwdev); // set REG_FWHW_TXQ_CTRL+1 to WLAN_TXQ_RPT_EN 

Only rtw8703b/rtw8723d implement postinit ops.

> 
> Tested on rtl8723cs, that reuses rtw8703b driver.
> 
> Signed-off-by: Andrey Skvortsov <andrej.skvortzov@gmail.com>
> ---
>  drivers/net/wireless/realtek/rtw88/rtw8703b_tables.c | 1 -
>  drivers/net/wireless/realtek/rtw88/rtw8723d_table.c  | 1 -
>  2 files changed, 2 deletions(-)
> 
> diff --git a/drivers/net/wireless/realtek/rtw88/rtw8703b_tables.c
> b/drivers/net/wireless/realtek/rtw88/rtw8703b_tables.c
> index 81020fd907aa6..fe4b112f582ba 100644
> --- a/drivers/net/wireless/realtek/rtw88/rtw8703b_tables.c
> +++ b/drivers/net/wireless/realtek/rtw88/rtw8703b_tables.c
> @@ -199,7 +199,6 @@ static const u32 rtw8703b_mac[] = {
>         0x035, 0x00000000,
>         0x067, 0x00000002,
>         0x092, 0x00000080,
> -       0x421, 0x0000000F,
>         0x428, 0x0000000A,
>         0x429, 0x00000010,
>         0x430, 0x00000000,
> diff --git a/drivers/net/wireless/realtek/rtw88/rtw8723d_table.c
> b/drivers/net/wireless/realtek/rtw88/rtw8723d_table.c
> index 27a22b392df00..bc7c6111782b2 100644
> --- a/drivers/net/wireless/realtek/rtw88/rtw8723d_table.c
> +++ b/drivers/net/wireless/realtek/rtw88/rtw8723d_table.c
> @@ -10,7 +10,6 @@ static const u32 rtw8723d_mac[] = {
>         0x020, 0x00000013,
>         0x02F, 0x00000010,
>         0x077, 0x00000007,
> -       0x421, 0x0000000F,
>         0x428, 0x0000000A,
>         0x429, 0x00000010,
>         0x430, 0x00000000,
> --
> 2.47.2
Re: [PATCH] wifi: rtw88: enable TX reports for the management queue
Posted by Andrey Skvortsov 3 months ago
On 25-06-30 01:51, Ping-Ke Shih wrote:
> Andrey Skvortsov <andrej.skvortzov@gmail.com> wrote:
> > This is needed for AP mode. Otherwise client sees the network, but
> > can't connect to it.
> > 
> > REG_FWHW_TXQ_CTRL+1 is set to WLAN_TXQ_RPT_EN (0x1F) in common mac
> > init function (__rtw8723x_mac_init), but the value was overwritten
> > from mac table later.
> 
> Since the tables were copied from vendor driver, I suspect people might
> overwrite the tables again resulting in regression. 
> 
> So we can add a mac_post_init to set the value after loading parameters:
> 
>   rtw_mac_init(rtwdev); // not set REG_FWHW_TXQ_CTRL+1 to WLAN_TXQ_RPT_EN
> 
>   chip->ops->phy_set_param(rtwdev); // "0x421, 0x0000000F," by table
> 
>   rtw_mac_postinit(rtwdev); // set REG_FWHW_TXQ_CTRL+1 to WLAN_TXQ_RPT_EN 
> 
> Only rtw8703b/rtw8723d implement postinit ops.
> 

Thanks for the feedback, I'll add this in v2.

-- 
Best regards,
Andrey Skvortsov