Re: [RFC PATCH v1 19/19] rtw88: Add support for the SDIO based RTL8821CS chipset

Martin Blumenstingl
2023-01-04T15:41:12Z

Hi Chris,

On Wed, Jan 4, 2023 at 12:01 AM Chris Morgan <macroalpha82@gmail.com> wrote:
>
> On Wed, Dec 28, 2022 at 12:30:20AM +0100, Martin Blumenstingl wrote:
> > Wire up RTL8821CS chipset support using the new rtw88 SDIO HCI code as
> > well as the existing RTL8821C chipset code.
> >
>
> Unfortunately, this doesn't work for me. I applied it on top of 6.2-rc2
> master and I get errors during probe (it appears the firmware never
> loads).
That's unfortunate.

> Relevant dmesg logs are as follows:
>
> [ 0.989545] mmc2: new high speed SDIO card at address 0001
> [ 0.989993] rtw_8821cs mmc2:0001:1: Firmware version 24.8.0, H2C version 12
> [ 1.005684] rtw_8821cs mmc2:0001:1: sdio write32 failed (0x14): -110
> [ 1.005737] rtw_8821cs mmc2:0001:1: sdio read32 failed (0x1080): -110
> [ 1.005789] rtw_8821cs mmc2:0001:1: sdio write32 failed (0x11080): -110
> [ 1.005840] rtw_8821cs mmc2:0001:1: sdio read8 failed (0x3): -110
> [ 1.005920] rtw_8821cs mmc2:0001:1: sdio read8 failed (0x1103): -110
> [ 1.005998] rtw_8821cs mmc2:0001:1: sdio read32 failed (0x80): -110
> [ 1.006078] rtw_8821cs mmc2:0001:1: sdio read32 failed (0x1700): -110
The error starts with a write to register 0x14 (REG_SDIO_HIMR), which
happens right after configuring RX aggregation.
Can you please try two modifications inside
drivers/net/wireless/realtek/rtw88/sdio.c:
1. inside the rtw_sdio_start() function: change
"rtw_sdio_rx_aggregation(rtwdev, false);" to
"rtw_sdio_rx_aggregation(rtwdev, true);"
2. if 1) does not work: remove the call to rtw_sdio_rx_aggregation()
from rtw_sdio_start()

Best regards,
Martin