public inbox for linux-mmc@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 5.16 regression fix 0/5] ACPI: scan: Skip turning off some unused objects during scan
@ 2021-11-17 22:01 Hans de Goede
  2021-11-17 22:01 ` [PATCH 5.16 regression fix 1/5] ACPI: Change acpi_device_always_present() into acpi_device_override_status() Hans de Goede
                   ` (5 more replies)
  0 siblings, 6 replies; 10+ messages in thread
From: Hans de Goede @ 2021-11-17 22:01 UTC (permalink / raw)
  To: Rafael J . Wysocki, Adrian Hunter, Ulf Hansson
  Cc: Hans de Goede, Len Brown, linux-acpi, linux-mmc

Hi Rafael,

Commit c10383e8ddf4 ("ACPI: scan: Release PM resources blocked by
unused objects") adds a:

	bus_for_each_dev(&acpi_bus_type, NULL, NULL, acpi_dev_turn_off_if_unused);

call to acpi_scan_init(). On some devices with buggy DSDTs calling
_PS3 for one device may result in it turning off another device.

Specifically the DSDT of the GPD win and GPD pocket devices has a
"\\_SB_.PCI0.SDHB.BRC1" device for a non existing SDIO wifi module
which _PS3 method sets a GPIO causing the PCI wifi card to turn off.

I've an earlier, in some ways simpler, fix for this here:
https://fedorapeople.org/~jwrdegoede/0001-ACPI-scan-Skip-turning-off-some-unused-objects-durin.patch

But the sdhci-acpi.c MMC host code already has an older workaround
for it to not toggle power on this broken ACPI object; and this
simpler fix would require keeping that workaround. So then we would
have 2 workarounds for the same issue in the kernel.

Thus instead I've come up with a slightly different approach which
IMHO has ended up pretty well.

Patches 1-3 of this series are this different approach and assuming
they are considered ok must be merged into 5.16 to fix the regression
caused by commit c10383e8ddf4 on these devices.

Patch 4 removes the now no longer necessary workaround for the same
issue from the sdhci-acpi.c code. Once 1-3 are merged this could
also go to 5.16 but 5.17 is fine too.

Patch 5 is a small bonus cleanup to the sdhci-acpi.c code.

Regards,

Hans


Hans de Goede (5):
  ACPI: Change acpi_device_always_present() into
    acpi_device_override_status()
  ACPI: x86: Allow specifying acpi_device_override_status() quirks by
    path
  ACPI: x86: Add not-present quirk for the PCI0.SDHB.BRC1 device on the
    GPD win
  mmc: sdhci-acpi: Remove special handling for GPD win/pocket devices
  mmc: sdhci-acpi: Use the new soc_intel_is_byt() helper

 drivers/acpi/bus.c            |   4 +-
 drivers/acpi/x86/utils.c      | 114 ++++++++++++++++++++++++----------
 drivers/mmc/host/sdhci-acpi.c |  78 ++---------------------
 include/acpi/acpi_bus.h       |   5 +-
 4 files changed, 91 insertions(+), 110 deletions(-)

-- 
2.31.1


^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2021-11-18 20:56 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-11-17 22:01 [PATCH 5.16 regression fix 0/5] ACPI: scan: Skip turning off some unused objects during scan Hans de Goede
2021-11-17 22:01 ` [PATCH 5.16 regression fix 1/5] ACPI: Change acpi_device_always_present() into acpi_device_override_status() Hans de Goede
2021-11-17 22:01 ` [PATCH 5.16 regression fix 2/5] ACPI: x86: Allow specifying acpi_device_override_status() quirks by path Hans de Goede
2021-11-17 22:01 ` [PATCH 5.16 regression fix 3/5] ACPI: x86: Add not-present quirk for the PCI0.SDHB.BRC1 device on the GPD win Hans de Goede
2021-11-17 22:01 ` [PATCH 4/5] mmc: sdhci-acpi: Remove special handling for GPD win/pocket devices Hans de Goede
2021-11-17 22:01 ` [PATCH 5/5] mmc: sdhci-acpi: Use the new soc_intel_is_byt() helper Hans de Goede
2021-11-18 11:08 ` [PATCH 5.16 regression fix 0/5] ACPI: scan: Skip turning off some unused objects during scan Rafael J. Wysocki
2021-11-18 11:15   ` Hans de Goede
2021-11-18 14:51     ` Rafael J. Wysocki
2021-11-18 20:56       ` Hans de Goede

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