public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/3] mmc: Lenovo N22 Braswell SD slot fixes
@ 2026-03-16 21:23 Nelson Johnson
  2026-03-16 21:23 ` [PATCH 1/3] mmc: sdhci-pci: disable aggressive runtime PM for Braswell SD on Lenovo N22 Nelson Johnson
                   ` (4 more replies)
  0 siblings, 5 replies; 19+ messages in thread
From: Nelson Johnson @ 2026-03-16 21:23 UTC (permalink / raw)
  To: linux-mmc; +Cc: adrian.hunter, ulf.hansson, linux-kernel, Nelson Johnson

This series fixes the long-broken SD slot on the Lenovo N22
(Model 80S6 / MTM 80S60001US) with Intel Celeron N3050 Braswell
hardware running Debian 13 and Linux 6.19.6.

The regression goes back to kernel 4.14. The Braswell SD controller
(PCI ID 8086:2296) is exposed by firmware through both PCI
0000:00:12.0 and ACPI INT33BB:00 at \_SB_.PCI0.SDHB.

On this machine the newer runtime PM and card-detect handling no
longer works reliably, and the ACPI path permanently defers because
its dependency never becomes available. That leaves the slot unusable
unless the controller is forced back onto the working PCI path with
machine-specific quirks.

This series does three things, all scoped to the Lenovo N22 DMI
match:

1. Disable the aggressive runtime PM/card-detect wake path for the
   Braswell PCI SD controller.
2. Bypass the broken firmware card-detect GPIO path and use polling
   for card insertion detection.
3. Prevent the competing ACPI INT33BB:00 node from binding on this
   machine so the PCI SDHCI driver can own the controller.

With these changes applied, the SD slot binds through sdhci-pci and
detects and mounts SD cards again on the Lenovo N22.

Tested on:
  Lenovo N22 Model 80S6 / MTM 80S60001US
  Intel Celeron N3050 (Braswell)
  Debian 13
  Linux 6.19.6

Nelson Johnson (3):
  mmc: sdhci-pci: disable aggressive runtime PM for Braswell SD on
    Lenovo N22
  mmc: sdhci-pci: force polling card detect for Braswell SD on Lenovo
    N22
  mmc: sdhci-acpi: exclude INT33BB:00 from ACPI binding on Lenovo N22

 drivers/mmc/host/sdhci-acpi.c     | 10 ++++++++++
 drivers/mmc/host/sdhci-pci-core.c | 33 ++++++++++++++++++++++++++-----
 2 files changed, 38 insertions(+), 5 deletions(-)

-- 
2.47.3

^ permalink raw reply	[flat|nested] 19+ messages in thread
[parent not found: <23a36448-9006-47c4-9709-615a889ebd95@kernel.org>]

end of thread, other threads:[~2026-03-24 15:05 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-16 21:23 [PATCH 0/3] mmc: Lenovo N22 Braswell SD slot fixes Nelson Johnson
2026-03-16 21:23 ` [PATCH 1/3] mmc: sdhci-pci: disable aggressive runtime PM for Braswell SD on Lenovo N22 Nelson Johnson
2026-03-20 17:58   ` Andy Shevchenko
2026-03-16 21:23 ` [PATCH 2/3] mmc: sdhci-pci: force polling card detect " Nelson Johnson
2026-03-16 21:23 ` [PATCH 3/3] mmc: sdhci-acpi: exclude INT33BB:00 from ACPI binding " Nelson Johnson
2026-03-20 18:02   ` Andy Shevchenko
2026-03-20 13:27 ` [PATCH 0/3] mmc: Lenovo N22 Braswell SD slot fixes Adrian Hunter
2026-03-20 16:47   ` Nelson Johnson
2026-03-20 17:55     ` Andy Shevchenko
2026-03-20 18:08       ` Andy Shevchenko
2026-03-20 23:07         ` Nelson Johnson
2026-03-21 11:07           ` Hans de Goede
2026-03-24 15:05     ` Adrian Hunter
2026-03-20 17:49 ` Andy Shevchenko
     [not found] <23a36448-9006-47c4-9709-615a889ebd95@kernel.org>
2026-03-21 15:25 ` Nelson Johnson
2026-03-21 16:14   ` Hans de Goede
2026-03-24  0:27     ` Nelson Johnson
2026-03-23 10:14   ` Andy Shevchenko
2026-03-24  0:27     ` Nelson Johnson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox