Re: [PATCH wireless v2] wifi: rtw88: sdio: Always use two consecutive bytes for word operations

From: Kalle Valo
Date: Wed May 17 2023 - 02:10:04 EST


Martin Blumenstingl <martin.blumenstingl@xxxxxxxxxxxxxx> wrote:

> The Allwinner sunxi-mmc controller cannot handle word (16 bit)
> transfers. So and sdio_{read,write}w fails with messages like the
> following example using an RTL8822BS (but the same problems were also
> observed with RTL8822CS and RTL8723DS chips):
> rtw_8822bs mmc1:0001:1: Firmware version 27.2.0, H2C version 13
> sunxi-mmc 4021000.mmc: unaligned scatterlist: os f80 length 2
> sunxi-mmc 4021000.mmc: map DMA failed
> rtw_8822bs mmc1:0001:1: sdio read16 failed (0x10230): -22
>
> Use two consecutive single byte accesses for word operations instead. It
> turns out that upon closer inspection this is also what the vendor
> driver does, even though it does have support for sdio_{read,write}w. So
> we can conclude that the rtw88 chips do support word access but only on
> SDIO controllers that also support it. Since there's no way to detect if
> the controller supports word access or not the rtw88 sdio driver
> switches to the easiest approach: avoiding word access.
>
> Reported-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx>
> Closes: https://lore.kernel.org/linux-wireless/527585e5-9cdd-66ed-c3af-6da162f4b720@xxxxxxxxxxxx/
> Reported-by: Rudi Heitbaum <rudi@xxxxxxxxxxxx>
> Link: https://github.com/LibreELEC/LibreELEC.tv/pull/7837#issue-1708469467
> Fixes: 65371a3f14e7 ("wifi: rtw88: sdio: Add HCI implementation for SDIO based chipsets")
> Reviewed-by: Ping-Ke Shih <pkshih@xxxxxxxxxxx>
> Signed-off-by: Martin Blumenstingl <martin.blumenstingl@xxxxxxxxxxxxxx>

Patch applied to wireless.git, thanks.

cb0ddaaa5db0 wifi: rtw88: sdio: Always use two consecutive bytes for word operations

--
https://patchwork.kernel.org/project/linux-wireless/patch/20230515195043.572375-1-martin.blumenstingl@xxxxxxxxxxxxxx/

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