mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Luka Gejak <luka.gejak@linux.dev>
To: Ping-Ke Shih <pkshih@realtek.com>, linux-wireless@vger.kernel.org
Cc: linux-kernel@vger.kernel.org,
	Michael Straube <straube.linux@gmail.com>,
	Bitterblue Smith <rtl8821cerfe2@gmail.com>,
	Peter Robinson <pbrobinson@gmail.com>,
	Hans de Goede <johannes.goede@oss.qualcomm.com>,
	luka.gejak@linux.dev
Subject: Re: [PATCH v7 0/6] wifi: rtw88: preparations for RTL8723B/RTL8723BS
Date: Sat, 22 Aug 2026 18:51:59 +0200	[thread overview]
Message-ID: <44120736-F50E-4AD0-A380-3CEBB6A2F7F4@linux.dev> (raw)
In-Reply-To: <20260820090412.19574-1-luka.gejak@linux.dev>

On August 20, 2026 11:04:06 AM GMT+02:00, luka.gejak@linux.dev wrote:
>From: Luka Gejak <luka.gejak@linux.dev>
>
>This is the first of two series adding support for the Realtek RTL8723B
>802.11n chipset and its RTL8723BS SDIO variant to rtw88. It contains
>only the changes to the shared rtw88 core that the chip driver depends
>on. The chip itself, the build glue and the MAINTAINERS entry are a
>second series.
>

...

>Known limitation
>================
>
>After a long idle period the firmware intermittently fails to leave LPS,
>which rtw88 reports as "firmware failed to leave lps state". That check
>is the REG_TCR poll in __rtw_fw_leave_lps_check_reg(). On one occurrence
>here the warning was followed fourteen seconds later by a full
>reauthentication, so it is not only log noise.
>
>Power save is enabled on my test machine and it reproduces there,
>roughly once per day of mostly idle uptime, and the occurrences cluster.
>It was first reported on ARM SDIO boards, but it is not specific to slow
>hosts.
>
>Instrumenting the poll shows the wake is never immediate on this board.
>Over a run of a hundred consecutive wakes the bit was still set on the
>first read every time and cleared on the next 20 ms poll; logging only
>the outliers after that, the occasional wake takes two polls. So the
>budget is five polls and the ordinary cost is one, which also means
>every wake costs at least 20 ms here. A failure is then the far tail of
>that distribution, which leaves open whether the budget is simply too
>small. I would rather keep measuring than guess at a fix.
>
>It is not caused by anything in this series, and it needs the chip
>driver from the second series to be reachable at all, but it is open and
>I am chasing it.
>

...
Hi Ping-Ke,

A correction to the "Known limitation" section of the cover letter. I wrote
that a failure looks like the far tail of the wake time distribution,
leaving open whether the poll budget is too small. I have since debugged it
and that turns out not to be the case.

With a local debug patch logging REG_TCR on every poll of
__rtw_fw_leave_lps_check_reg(), I caught three failures. In every one
BIT_PWRMGT_HWDATA_EN was still set after 600 ms, six times the budget. And
there is no tail. Counting how many polls each successful wake needed, at
the third failure:

        poll0=25 poll1=27610 poll2=9 poll3=0 poll4=0 fails=3

No wake in roughly 27600 ever took three or four polls, yet failures happen.
The firmware either finishes within 40 ms or not at all.

A larger LEAVE_LPS_TRY_CNT would not help. This is firmware side, and the
existing code already does the sensible thing: give up, clear the bit, warn.
Nothing in this series changes. The rate is about one in 9200 wakes.

Best regards,
Luka Gejak

  parent reply	other threads:[~2026-08-22 16:52 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-08-20  9:04 luka.gejak
2026-08-20  9:04 ` [PATCH v7 1/6] wifi: rtw88: add the RTL8723B chip type and SDIO helper luka.gejak
2026-08-20  9:04 ` [PATCH v7 2/6] wifi: rtw88: rx: mark zero length packets on RTL8723BS luka.gejak
2026-08-20  9:04 ` [PATCH v7 3/6] wifi: rtw88: tx: extend the TX report purge timeout to RTL8723BS luka.gejak
2026-08-20  9:04 ` [PATCH v7 4/6] wifi: rtw88: sdio: track free TX pages and OQT credits for RTL8723BS luka.gejak
2026-08-20  9:04 ` [PATCH v7 5/6] wifi: rtw88: sdio: set up RX aggregation and interrupts " luka.gejak
2026-08-20  9:04 ` [PATCH v7 6/6] wifi: rtw88: sdio: add TX back-pressure and retry on page starvation luka.gejak
2026-08-22 16:51 ` Luka Gejak [this message]
2026-08-23  6:00   ` [PATCH v7 0/6] wifi: rtw88: preparations for RTL8723B/RTL8723BS 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=44120736-F50E-4AD0-A380-3CEBB6A2F7F4@linux.dev \
    --to=luka.gejak@linux.dev \
    --cc=johannes.goede@oss.qualcomm.com \
    --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®