acrn-kernel/include/acpi
Rafael J. Wysocki 7b41160db1 PCI/ACPI: Account for _S0W of the target bridge in acpi_pci_bridge_d3()
[ Upstream commit 8133844a8f ]

It is questionable to allow a PCI bridge to go into D3 if it has _S0W
returning D2 or a shallower power state, so modify acpi_pci_bridge_d3(() to
always take the return value of _S0W for the target bridge into account.
That is, make it return 'false' if _S0W returns D2 or a shallower power
state for the target bridge regardless of its ancestor Root Port
properties.  Of course, this also causes 'false' to be returned if the Root
Port itself is the target and its _S0W returns D2 or a shallower power
state.

However, still allow bridges without _S0W that are power-manageable via
ACPI to enter D3 to retain the current code behavior in that case.

This fixes problems where a hotplug notification is missed because a bridge
is in D3.  That means hot-added devices such as USB4 docks (and the devices
they contain) and Thunderbolt 3 devices may not work.

Link: https://lore.kernel.org/linux-pci/20221031223356.32570-1-mario.limonciello@amd.com/
Link: https://lore.kernel.org/r/12155458.O9o76ZdvQC@kreacher
Reported-by: Mario Limonciello <mario.limonciello@amd.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2023-03-11 13:55:33 +01:00
..
platform ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
acbuffer.h ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
acconfig.h ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
acexcep.h ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
acnames.h ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
acoutput.h ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
acpi.h ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
acpi_bus.h PCI/ACPI: Account for _S0W of the target bridge in acpi_pci_bridge_d3() 2023-03-11 13:55:33 +01:00
acpi_drivers.h
acpi_io.h
acpi_lpat.h
acpi_numa.h
acpiosxf.h ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
acpixf.h ACPICA: Update version to 20220331 2022-04-13 20:24:58 +02:00
acrestyp.h ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
actbl.h ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
actbl1.h ACPICA: Removed some tabs and // comments 2022-04-13 20:24:57 +02:00
actbl2.h ACPICA: IORT: Updates for revision E.d 2022-04-13 20:24:58 +02:00
actbl3.h ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
actypes.h ACPICA: Removed some tabs and // comments 2022-04-13 20:24:57 +02:00
acuuid.h ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
apei.h ACPI: APEI: Fix missing ERST record id 2022-04-13 20:29:24 +02:00
battery.h
button.h
cppc_acpi.h ACPI: CPPC: Disable FIE if registers in PCC regions 2022-09-24 18:43:46 +02:00
ghes.h ACPI: APEI: Fix integer overflow in ghes_estatus_pool_init() 2022-10-13 20:40:09 +02:00
hed.h
nfit.h
pcc.h
pdc_intel.h
processor.h ACPI: processor: Drop leftover acpi_processor_get_limit_info() declaration 2022-06-29 19:01:23 +02:00
reboot.h
video.h ACPI: video: Allow GPU drivers to report no panels 2023-01-12 12:02:39 +01:00