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