From: Luka Gejak <luka.gejak@linux.dev>
To: Ping-Ke Shih <pkshih@realtek.com>
Cc: linux-wireless@vger.kernel.org, linux-kernel@vger.kernel.org,
Michael Straube <straube.linux@gmail.com>,
Peter Robinson <pbrobinson@gmail.com>,
Bitterblue Smith <rtl8821cerfe2@gmail.com>,
Luka Gejak <luka.gejak@linux.dev>
Subject: [PATCH rtw-next v6 0/6] wifi: rtw88: add RTL8723B/RTL8723BS support
Date: Thu, 1 Oct 2026 11:18:29 +0200 [thread overview]
Message-ID: <20261001091835.67909-1-luka.gejak@linux.dev> (raw)
This is the second of two series adding support for the Realtek RTL8723B
802.11n chipset and its RTL8723BS SDIO variant to rtw88. The preparation
series has landed in rtw-next, so this series carries the chip register
definitions, the BB/RF/AGC tables, the chip driver, the SDIO bind and the
build glue.
The first patch is the only shared-core change. It moves the CCK power
detect setter out of rtw88xxa.c into phy.c as rtw_phy_cck_pd_set(), so this
chip can use it without pulling in rtw88_88xxa. The six chip patches apply
on top of it and can be read on their own.
The driver supports:
- RTL8723B / RTL8723BS, SDIO only
- 2.4 GHz 802.11n, HT20 and HT40
- one spatial stream
- station mode
Only station mode has been validated. The common rtw88 core advertises AP
and IBSS for all chips, so those modes are advertised for RTL8723BS as
well, but neither has been tested. An out-of-tree tester has reported AP
mode associating without DHCP completing. The five additional SDIO IDs are
included for parity with the existing staging driver, and only the 0xb723
device has been exercised.
The chip driver requests:
rtw88/rtw8723b_fw.bin
This is the version 41 firmware extracted from the Realtek rtl8723bs
vendor driver. It was submitted separately to linux-firmware with its
extraction provenance and carries Ping-Ke Shih's Reviewed-by. There is no
known native rtw88 RTL8723B firmware.
The implementation is based on the initial RTL8723B work by Michael
Straube:
https://github.com/mistraube/rtw88/tree/rtl8723bs
Michael's Co-developed-by and Signed-off-by tags are present on the three
chip-code patches containing code derived from that work.
The known limitations are unchanged. Bluetooth coexistence depends on the
BT firmware's status reports. During A2DP streaming those reports identify
a connected link but do not expose the active profile, so the WiFi
coexistence logic cannot make a correct traffic-aware decision. WiFi
throughput can fall sharply while audio remains smooth. This is documented
rather than guessed around in the WiFi driver. The intermittent RTL8723BS
firmware failure to leave LPS also remains, and instrumentation shows a
firmware stall rather than a polling timeout that a longer budget would
fix.
Testing
=======
The exact six-commit branch builds with W=1, with no new warnings, and
links all rtw88 modules with real modpost. Sparse and smatch were run over
the rtw88 directory. Sparse is clean. Smatch reports nothing in the 8723B
files, and its only output is an existing container_of static assertion
from include/net/neighbour.h while checking usb.c. checkpatch --strict is
clean apart from the complex-macro report on TRANS_SEQ_END, which is an
initializer macro that rtw8703b.c already defines in the same way, and the
"does MAINTAINERS need updating" reminder on the file-adding patches, which
the existing REALTEK WIRELESS DRIVER (rtw88) entry already answers with its
F: line. git diff --check is clean and all six commits are GPG-signed.
Hardware validation covered module identity, boot, scan,
authentication, association, WPA2 key negotiation and DHCP, TCP and UDP
traffic in both directions, ten scans while connected, and twenty module
reload and reassociate cycles. dmesg is clean, with no warnings, no errors
and no TX-report, H2C or leave-LPS messages. The extended soak added six 30
second TCP runs, UDP saturation in both access categories with no loss, a
2000 packet ping run with no loss, and three idle power save periods with a
clean wake. The test machine provides only s2idle, so suspend and resume
are not covered.
Changes in v6:
- the CCK power detect setter is the only helper that moves. The adaptive
control and EDCA helpers go back to rtw88xxa.c unchanged, so mac.c and
mac.h are not touched by this series at all;
- dropped the per-chip RCR patch. Every vendor chip lets rtw_core_start()
overwrite the value its init path wrote, so the RTL8723B does the same;
- the chip driver writes the adaptive control and EDCA registers itself
again, as it did in v4;
- REG_CCK_SWING moved to reg.h, the SDIO Tx control write is now guarded
by an HCI type check, and two IQK debug statements are aligned;
- the IQK matrix locals use lowercase names;
- subject tags are now [PATCH rtw-next vN n/n], matching the list.
Luka Gejak (6):
wifi: rtw88: move the 88xxa CCK power detect setter to phy.c
wifi: rtw88: 8723b: add the RTL8723B register definitions
wifi: rtw88: 8723b: add the RTL8723B BB, RF and AGC tables
wifi: rtw88: 8723b: add the RTL8723B chip driver
wifi: rtw88: 8723bs: add the RTL8723BS SDIO bind
wifi: rtw88: 8723bs: enable building the RTL8723BS driver
drivers/net/wireless/realtek/rtw88/Kconfig | 18 +
drivers/net/wireless/realtek/rtw88/Makefile | 6 +
drivers/net/wireless/realtek/rtw88/phy.c | 39 +
drivers/net/wireless/realtek/rtw88/phy.h | 1 +
drivers/net/wireless/realtek/rtw88/reg.h | 34 +
drivers/net/wireless/realtek/rtw88/rtw8723b.c | 2588 +++++++++++++++++
drivers/net/wireless/realtek/rtw88/rtw8723b.h | 14 +
.../wireless/realtek/rtw88/rtw8723b_table.c | 861 ++++++
.../wireless/realtek/rtw88/rtw8723b_table.h | 17 +
.../net/wireless/realtek/rtw88/rtw8723bs.c | 59 +
drivers/net/wireless/realtek/rtw88/rtw8812a.c | 2 +-
drivers/net/wireless/realtek/rtw88/rtw8821a.c | 2 +-
drivers/net/wireless/realtek/rtw88/rtw88xxa.c | 38 -
drivers/net/wireless/realtek/rtw88/rtw88xxa.h | 1 -
14 files changed, 3639 insertions(+), 41 deletions(-)
create mode 100644 drivers/net/wireless/realtek/rtw88/rtw8723b.c
create mode 100644 drivers/net/wireless/realtek/rtw88/rtw8723b.h
create mode 100644 drivers/net/wireless/realtek/rtw88/rtw8723b_table.c
create mode 100644 drivers/net/wireless/realtek/rtw88/rtw8723b_table.h
create mode 100644 drivers/net/wireless/realtek/rtw88/rtw8723bs.c
--
2.55.0
next reply other threads:[~2026-10-01 9:18 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-01 9:18 Luka Gejak [this message]
2026-10-01 9:18 ` [PATCH rtw-next v6 1/6] wifi: rtw88: move the 88xxa CCK power detect setter to phy.c Luka Gejak
2026-10-01 9:18 ` [PATCH rtw-next v6 2/6] wifi: rtw88: 8723b: add the RTL8723B register definitions Luka Gejak
2026-10-01 9:18 ` [PATCH rtw-next v6 3/6] wifi: rtw88: 8723b: add the RTL8723B BB, RF and AGC tables Luka Gejak
2026-10-01 9:18 ` [PATCH rtw-next v6 4/6] wifi: rtw88: 8723b: add the RTL8723B chip driver Luka Gejak
2026-10-01 9:18 ` [PATCH rtw-next v6 5/6] wifi: rtw88: 8723bs: add the RTL8723BS SDIO bind Luka Gejak
2026-10-01 9:18 ` [PATCH rtw-next v6 6/6] wifi: rtw88: 8723bs: enable building the RTL8723BS driver Luka Gejak
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20261001091835.67909-1-luka.gejak@linux.dev \
--to=luka.gejak@linux.dev \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-wireless@vger.kernel.org \
--cc=pbrobinson@gmail.com \
--cc=pkshih@realtek.com \
--cc=rtl8821cerfe2@gmail.com \
--cc=straube.linux@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®