Search Linux Wireless

RE: [PATCH rtw-next v2 1/2] wifi: rtw88: Fix RX aggregation settings for RTL8723DS

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Bitterblue Smith <rtl8821cerfe2@xxxxxxxxx> wrote:
> Use the same RX aggregation size and timeout used by the out-of-tree
> RTL8723DS driver. Also set mystery bit 31 of REG_RXDMA_AGG_PG_TH. This
> improves the RX speed from ~44 Mbps to ~67 Mbps.
> 
> Signed-off-by: Bitterblue Smith <rtl8821cerfe2@xxxxxxxxx>
> ---
> v2:
>  - Restore the original behaviour for RTL8821A and RTL8812A.

This patch actually restores the behavior of RTL8821A and RTL8812A. But
they are 802.11ac chips [1] [2], somehow defined as RTW_WCPU_11N. 

I can accept this patch ahead. Please help to think how we can correct
this mistake. 

Acked-by: Ping-Ke Shih <pkshih@xxxxxxxxxxx>

[1] https://www.realtek.com/Product/Index?id=577&cate_id=194
[2] https://www.realtek.com/Product/Index?id=590&cate_id=194

> ---
>  drivers/net/wireless/realtek/rtw88/sdio.c | 14 ++++++++++++--
>  1 file changed, 12 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/net/wireless/realtek/rtw88/sdio.c b/drivers/net/wireless/realtek/rtw88/sdio.c
> index c57f683d9af8..71cbe49b6c59 100644
> --- a/drivers/net/wireless/realtek/rtw88/sdio.c
> +++ b/drivers/net/wireless/realtek/rtw88/sdio.c
> @@ -677,12 +677,22 @@ static void rtw_sdio_enable_rx_aggregation(struct rtw_dev *rtwdev)
>  {
>         u8 size, timeout;
> 
> -       if (rtw_chip_wcpu_11n(rtwdev)) {
> +       switch (rtwdev->chip->id) {
> +       case RTW_CHIP_TYPE_8703B:
> +       case RTW_CHIP_TYPE_8821A:
> +       case RTW_CHIP_TYPE_8812A:
>                 size = 0x6;
>                 timeout = 0x6;
> -       } else {
> +               break;
> +       case RTW_CHIP_TYPE_8723D:
> +               size = 0xa;
> +               timeout = 0x3;
> +               rtw_write8_set(rtwdev, REG_RXDMA_AGG_PG_TH + 3, BIT(7));
> +               break;
> +       default:
>                 size = 0xff;
>                 timeout = 0x1;
> +               break;
>         }
> 
>         /* Make the firmware honor the size limit configured below */
> --
> 2.49.0





[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux