mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Deomid rojer Ryabkov <rojer@rojer.me>
To: Ulf Hansson <ulfh@kernel.org>
Cc: linux-mmc@vger.kernel.org, linux-kernel@vger.kernel.org,
	Jensen Huang <jensenhuang@friendlyarm.com>,
	Deomid rojer Ryabkov <rojer@rojer.me>
Subject: [PATCH 0/2] mmc: core: sdio: fix UHS init with fixed 1.8V vqmmc
Date: Sat, 24 Oct 2026 02:28:11 +0300	[thread overview]
Message-ID: <20261023232813.2983368-1-rojer@rojer.me> (raw)

The Realtek RTL8822CS SDIO Wi-Fi module on the FriendlyElec NanoPi R2S
Plus (fixed 1.8V vqmmc) reports S18A = 1 in its R4 response although the
bus is already at 1.8V, contrary to the SDIO Simplified Specification
3.00, section 3.1.2. CMD11 then times out and the module ends up at
50 MHz high-speed instead of SDR104.

Patch 1 makes SDIO init fall back to high-speed mode if UHS init fails
(e.g. tuning), instead of failing the card altogether.

Patch 2 fixes the RTL8822CS case. There are two ways to do it, and I'd
like your preference:

  2/2      skips CMD11 when the host is already at 1.8V. Simple and per
           spec, but a non-compliant card that needs CMD11 anyway would
           drop to high-speed mode (it keeps working thanks to patch 1).

  2/2 alt  (sent as a reply to 2/2) keeps sending CMD11 and only retries
           without it if it fails while still at 1.8V. No change for any
           card that works today; costs ~0.85s of boot time on affected
           boards.

Tested on a NanoPi R2S Plus (OpenWrt 25.12, Linux 6.12.112 with these
patches; applies to mainline as of 2026-10-22): both variants reach
SDR104 at 150 MHz; iperf as a 5 GHz VHT80 station goes from 70/29 to
123/125 Mbit/s (rx/tx). eMMC (HS200) and SD card on the same SoC are
unaffected.

The device tree part for the R2S Plus is sent separately to
linux-rockchip.

Deomid rojer Ryabkov (2):
  mmc: core: sdio: retry without UHS if UHS init fails
  mmc: core: sdio: skip CMD11 if signalling is already 1.8V

 drivers/mmc/core/sdio.c | 16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)

-- 
2.53.0


             reply	other threads:[~2026-10-23 23:28 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-10-23 23:28 Deomid rojer Ryabkov [this message]
2026-10-23 23:28 ` [PATCH 1/2] mmc: core: sdio: retry without UHS if UHS init fails Deomid rojer Ryabkov
2026-10-23 23:28 ` [PATCH 2/2] mmc: core: sdio: skip CMD11 if signalling is already 1.8V Deomid rojer Ryabkov
2026-10-23 23:28   ` [PATCH 2/2 alt] mmc: core: sdio: retry without CMD11 if it fails at 1.8V Deomid rojer Ryabkov
2026-10-24  2:24   ` [PATCH 2/2] mmc: core: sdio: skip CMD11 if signalling is already 1.8V Shawn Lin

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=20261023232813.2983368-1-rojer@rojer.me \
    --to=rojer@rojer.me \
    --cc=jensenhuang@friendlyarm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mmc@vger.kernel.org \
    --cc=ulfh@kernel.org \
    /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®