[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20230518161749.1311949-1-martin.blumenstingl@googlemail.com>
Date: Thu, 18 May 2023 18:17:45 +0200
From: Martin Blumenstingl <martin.blumenstingl@...glemail.com>
To: linux-wireless@...r.kernel.org
Cc: linux-mmc@...r.kernel.org, linux-kernel@...r.kernel.org,
ulf.hansson@...aro.org, kvalo@...nel.org, tony0620emma@...il.com,
Peter Robinson <pbrobinson@...il.com>,
Ping-Ke Shih <pkshih@...ltek.com>, jernej.skrabec@...il.com,
Martin Blumenstingl <martin.blumenstingl@...glemail.com>
Subject: [PATCH wireless-next v1 0/4] wifi: rtw88: Add support for the RTL8723DS SDIO wifi chip
This series adds support for the RTL823DS SDIO wifi chip.
It builds on the SDIO support which was recently merged into the rtw88
driver.
With the initial rtw88 SDIO support code the aim was to support these
older (802.11n) chips as well but we didn't have any way to test that.
Overall we spotted all corner cases in the vendor driver except one:
On these older chips REG_SDIO_RX0_REQ_LEN should only be read when
REG_SDIO_HISR has the REG_SDIO_HISR_RX_REQUEST bit set. Patch 1 adds
support for that.
RTL8723DS comes in two variant and each of them has their own SDIO ID:
- 0xd723 can connect two antennas. The WiFi part is still 1x1 so the
second antenna can be dedicated to Bluetooth
- 0xd724 can only connect one antenna so it's shared between WiFi and
Bluetooth
Thanks to Ping-Ke for these insights!
This series adds the missing SDIO ID and renames the existing 0xd723
SDIO ID (which we previously added) with patch 3. The rest is straight
forward: patch 2 adds support for parsing the eFuse and patch 4 wires
everything together by creating a driver for the RTL8723DS.
In my own tests on a MangoPi MQ-Quad I get the following results in
iperf3 (with the device being better placed than my RTL8822CS):
- RX: 48 Mbit/s
- TX: 33 Mbit/s
Dependencies:
- commit cb0ddaaa5db0 ("wifi: rtw88: sdio: Always use two consecutive
bytes for word operations") from wireless.git is needed for patch 1
from this series to apply with the exact line numbers. This commit
is a runtime dependency on Allwinner SoCs (like it's used on the
MangoPI MQ-Quad).
Martin Blumenstingl (4):
wifi: rtw88: sdio: Check the HISR RX_REQUEST bit in rtw_sdio_rx_isr()
wifi: rtw88: rtw8723d: Implement RTL8723DS (SDIO) efuse parsing
mmc: sdio: Add/rename SDIO ID of the RTL8723DS SDIO wifi cards
wifi: rtw88: Add support for the SDIO based RTL8723DS chipset
drivers/net/wireless/realtek/rtw88/Kconfig | 11 +++++
drivers/net/wireless/realtek/rtw88/Makefile | 3 ++
drivers/net/wireless/realtek/rtw88/rtw8723d.c | 9 ++++
drivers/net/wireless/realtek/rtw88/rtw8723d.h | 6 +++
.../net/wireless/realtek/rtw88/rtw8723ds.c | 41 +++++++++++++++++++
drivers/net/wireless/realtek/rtw88/sdio.c | 23 +++++++++--
include/linux/mmc/sdio_ids.h | 3 +-
7 files changed, 92 insertions(+), 4 deletions(-)
create mode 100644 drivers/net/wireless/realtek/rtw88/rtw8723ds.c
--
2.40.1
Powered by blists - more mailing lists