linux-stable/drivers/acpi
Eric Auger d3a380f723 ACPI: VIOT: Fix ACS setup
[ Upstream commit 3dcb861dbc ]

Currently acpi_viot_init() gets called after the pci
device has been scanned and pci_enable_acs() has been called.
So pci_request_acs() fails to be taken into account leading
to wrong single iommu group topologies when dealing with
multi-function root ports for instance.

We cannot simply move the acpi_viot_init() earlier, similarly
as the IORT init because the VIOT parsing relies on the pci
scan. However we can detect VIOT is present earlier and in
such a case, request ACS. Introduce a new acpi_viot_early_init()
routine that allows to call pci_request_acs() before the scan.

While at it, guard the call to pci_request_acs() with #ifdef
CONFIG_PCI.

Fixes: 3cf485540e ("ACPI: Add driver for the VIOT table")
Signed-off-by: Eric Auger <eric.auger@redhat.com>
Reported-by: Jin Liu <jinl@redhat.com>
Reviewed-by: Jean-Philippe Brucker <jean-philippe@linaro.org>
Tested-by: Jean-Philippe Brucker <jean-philippe@linaro.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-08-17 15:14:14 +02:00
..
acpica
apei ACPI: APEI: Fix _EINJ vs EFI_MEMORY_SP 2022-08-17 15:14:12 +02:00
arm64
dptf
nfit
numa
pmic
x86
ac.c
acpi_adxl.c
acpi_amba.c
acpi_apd.c
acpi_cmos_rtc.c
acpi_configfs.c
acpi_dbg.c
acpi_extlog.c
acpi_fpdt.c
acpi_ipmi.c
acpi_lpat.c
acpi_lpit.c
acpi_lpss.c ACPI: LPSS: Fix missing check in register_device_clock() 2022-08-17 15:14:04 +02:00
acpi_memhotplug.c
acpi_pad.c
acpi_pcc.c
acpi_platform.c
acpi_pnp.c
acpi_processor.c
acpi_tad.c
acpi_video.c
acpi_watchdog.c
battery.c
bgrt.c
blacklist.c
bus.c ACPI: VIOT: Fix ACS setup 2022-08-17 15:14:14 +02:00
button.c
container.c
cppc_acpi.c
custom_method.c
debugfs.c
device_pm.c
device_sysfs.c
dock.c
ec.c ACPI: EC: Drop the EC_FLAGS_IGNORE_DSDT_GPE quirk 2022-08-17 15:14:04 +02:00
ec_sys.c
event.c
evged.c
fan.h
fan_attr.c
fan_core.c
glue.c
hed.c
internal.h
ioapic.c
irq.c
Kconfig
Makefile
nvs.c
osi.c
osl.c
pci_irq.c
pci_link.c
pci_mcfg.c
pci_root.c
pci_slot.c
pfr_telemetry.c
pfr_update.c
platform_profile.c
power.c
pptt.c
prmt.c
proc.c
processor_core.c
processor_driver.c
processor_idle.c ACPI: processor/idle: Annotate more functions to live in cpuidle section 2022-08-17 15:14:07 +02:00
processor_pdc.c
processor_perflib.c
processor_thermal.c
processor_throttling.c
property.c
reboot.c
resource.c
sbs.c
sbshc.c
sbshc.h
scan.c
sleep.c ACPI: PM: save NVS memory for Lenovo G40-45 2022-08-17 15:14:04 +02:00
sleep.h
spcr.c
sysfs.c
tables.c
thermal.c
tiny-power-button.c
utils.c
video_detect.c ACPI: video: Use native backlight on Dell Inspiron N4010 2022-08-17 15:14:05 +02:00
viot.c ACPI: VIOT: Fix ACS setup 2022-08-17 15:14:14 +02:00
wakeup.c