From: Ping-Ke Shih <pkshih@realtek.com>
To: "luka.gejak@linux.dev" <luka.gejak@linux.dev>
Cc: "linux-wireless@vger.kernel.org" <linux-wireless@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"Michael Straube" <straube.linux@gmail.com>,
Peter Robinson <pbrobinson@gmail.com>,
Bitterblue Smith <rtl8821cerfe2@gmail.com>
Subject: RE: [PATCH v2 04/11] wifi: rtw88: fw: fix the reserved page upload on RTL8723BS
Date: Mon, 27 Jul 2026 07:37:10 +0000 [thread overview]
Message-ID: <1415f8a22c99437f8137304690edbcb3@realtek.com> (raw)
In-Reply-To: <20260725150427.93887-5-luka.gejak@linux.dev>
luka.gejak@linux.dev <luka.gejak@linux.dev> wrote:
[...]
> diff --git a/drivers/net/wireless/realtek/rtw88/fw.c b/drivers/net/wireless/realtek/rtw88/fw.c
> index dd6595b8175e..7c17086cac32 100644
> --- a/drivers/net/wireless/realtek/rtw88/fw.c
> +++ b/drivers/net/wireless/realtek/rtw88/fw.c
> @@ -1477,10 +1477,14 @@ void rtw_add_rsvd_page_sta(struct rtw_dev *rtwdev,
> rtw_add_rsvd_page(rtwdev, rtwvif, RSVD_LPS_PG_INFO, true);
> }
>
> +/* REG_DWBCN1_CTRL bit 20 (SW_BCN_SEL for port 0), relative to byte +2 */
> +#define BIT_OFFSET_DWBCN1_SW_BCN_SEL_PORT0 (20 - 16)
define along its register REG_DWBCN1_CTRL
> +
> int rtw_fw_write_data_rsvd_page(struct rtw_dev *rtwdev, u16 pg_addr,
> u8 *buf, u32 size)
> {
> - u8 bckp[3];
> + const bool is_8723bs_sdio = rtw_is_8723bs(rtwdev);
> + u8 bckp[4];
> u8 val;
> u16 rsvd_pg_head;
> u32 bcn_valid_addr;
> @@ -1510,13 +1514,28 @@ int rtw_fw_write_data_rsvd_page(struct rtw_dev *rtwdev, u16 pg_addr,
> rtw_write8(rtwdev, REG_BCN_CTRL,
> (bckp[2] & ~BIT_EN_BCN_FUNCTION) | BIT_DIS_TSF_UDT);
>
> - if (rtw_hci_type(rtwdev) == RTW_HCI_TYPE_PCIE) {
> + /* Clear BIT_EN_BCNQ_DL so the chip does not treat the reserved-page
> + * upload as a real beacon; otherwise BIT_BCN_VALID never asserts. The
> + * vendor rtl8723bs driver does this unconditionally; rtw88 only did it
> + * for PCIe, which left 8723BS SDIO's BCN_VALID handshake failing.
> + */
> + if (rtw_hci_type(rtwdev) == RTW_HCI_TYPE_PCIE || is_8723bs_sdio) {
> val = rtw_read8(rtwdev, REG_FWHW_TXQ_CTRL + 2);
> bckp[1] = val;
> val &= ~(BIT_EN_BCNQ_DL >> 16);
> rtw_write8(rtwdev, REG_FWHW_TXQ_CTRL + 2, val);
> }
>
> + /* 8723BS SDIO: point the SW beacon download path at port 0, else
> + * BIT_BCN_VALID is never asserted after the SDIO upload completes.
> + */
Currently, not use networking specific comment style anymore
/*
* first line
* second
*/
> + if (is_8723bs_sdio) {
> + val = rtw_read8(rtwdev, REG_DWBCN1_CTRL + 2);
> + bckp[3] = val;
> + val &= ~BIT(BIT_OFFSET_DWBCN1_SW_BCN_SEL_PORT0);
define along its register REG_DWBCN1_CTRL. Then, here
val &= ~(BIT_DWBCN1_SW_BCN_SEL_PORT0 >> 16);
> + rtw_write8(rtwdev, REG_DWBCN1_CTRL + 2, val);
> + }
> +
> ret = rtw_hci_write_data_rsvd_page(rtwdev, buf, size);
> if (ret) {
> rtw_err(rtwdev, "failed to write data to rsvd page\n");
next prev parent reply other threads:[~2026-07-27 7:37 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-25 15:04 [PATCH v2 00/11] wifi: rtw88: preparations for RTL8723B/RTL8723BS luka.gejak
2026-07-25 15:04 ` [PATCH v2 01/11] wifi: rtw88: add the RTL8723B chip type and SDIO helper luka.gejak
2026-07-27 7:12 ` Ping-Ke Shih
2026-07-27 13:25 ` Luka Gejak
2026-07-25 15:04 ` [PATCH v2 02/11] wifi: rtw88: rx: mark zero length packets on RTL8723BS luka.gejak
2026-07-27 7:14 ` Ping-Ke Shih
2026-07-25 15:04 ` [PATCH v2 03/11] wifi: rtw88: fw: add the GNT_BT firmware command luka.gejak
2026-07-25 15:04 ` [PATCH v2 04/11] wifi: rtw88: fw: fix the reserved page upload on RTL8723BS luka.gejak
2026-07-27 7:37 ` Ping-Ke Shih [this message]
2026-07-25 15:04 ` [PATCH v2 05/11] wifi: rtw88: coex: add the RTL8723BS scan antenna workaround luka.gejak
2026-07-27 7:58 ` Ping-Ke Shih
2026-07-25 15:04 ` [PATCH v2 06/11] wifi: rtw88: coex: reassert the antenna path when associating luka.gejak
2026-07-27 8:21 ` Ping-Ke Shih
2026-07-25 15:04 ` [PATCH v2 07/11] wifi: rtw88: sdio: track free TX pages and OQT credits for RTL8723BS luka.gejak
2026-07-27 8:52 ` Ping-Ke Shih
2026-07-25 15:04 ` [PATCH v2 08/11] wifi: rtw88: sdio: set up RX aggregation and interrupts " luka.gejak
2026-07-27 8:59 ` Ping-Ke Shih
2026-07-25 15:04 ` [PATCH v2 09/11] wifi: rtw88: sdio: add TX back-pressure and retry on page starvation luka.gejak
2026-07-27 9:21 ` Ping-Ke Shih
2026-07-25 15:04 ` [PATCH v2 10/11] wifi: rtw88: record beacons from the target BSSID before authenticating luka.gejak
2026-07-27 9:27 ` Ping-Ke Shih
2026-07-25 15:04 ` [PATCH v2 11/11] wifi: rtw88: run the RTL8723BS association register sequence luka.gejak
2026-07-27 9:33 ` Ping-Ke Shih
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=1415f8a22c99437f8137304690edbcb3@realtek.com \
--to=pkshih@realtek.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-wireless@vger.kernel.org \
--cc=luka.gejak@linux.dev \
--cc=pbrobinson@gmail.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