Lorenzo Pieralisi
37f6b42e9c
ACPI/IORT: Fix PCI ACS enablement
...
commit f6810c15cf ("iommu/arm-smmu: Clean up early-probing
workarounds") removed kernel code that was allowing to initialize
and probe the SMMU devices early (ie earlier than PCI devices, through
linker script callback entries) in the boot process because it was not
needed any longer in that the SMMU devices/drivers now support deferred
probing.
Since the SMMUs probe routines are also in charge of requesting global
PCI ACS kernel enablement, commit f6810c15cf ("iommu/arm-smmu: Clean
up early-probing workarounds") also postponed PCI ACS enablement to
SMMUs devices probe time, which is too late given that PCI devices needs
to detect if PCI ACS is enabled to init the respective capability
through the following call path:
pci_device_add()
-> pci_init_capabilities()
-> pci_enable_acs()
Add code in the ACPI IORT SMMU platform devices initialization path
(that is called before ACPI PCI enumeration) to detect if there
exists firmware mappings to map root complexes ids to SMMU ids
and if so enable ACS for the system.
Fixes: f6810c15cf ("iommu/arm-smmu: Clean up early-probing workarounds")
Reviewed-by: Robin Murphy <robin.murphy@arm.com>
Tested-by: Nate Watterson <nwatters@codeaurora.org>
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Cc: Will Deacon <will.deacon@arm.com>
Cc: Hanjun Guo <hanjun.guo@linaro.org>
Cc: Sudeep Holla <sudeep.holla@arm.com>
Cc: Zhou Wang <wangzhou1@hisilicon.com>
Cc: Alex Williamson <alex.williamson@redhat.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2017-10-04 17:34:41 +01:00
..
acpica
Merge branches 'acpi-scan' and 'acpi-pm'
2017-09-03 23:53:19 +02:00
apei
ACPI / APEI: clear error status before acknowledging the error
2017-09-27 23:13:06 +02:00
arm64
ACPI/IORT: Fix PCI ACS enablement
2017-10-04 17:34:41 +01:00
dptf
ACPI / DPTF: constify attribute_group structures
2017-07-04 22:15:28 +02:00
nfit
libnvdimm for 4.14
2017-09-11 13:10:57 -07:00
pmic
ACPI / PMIC: xpower: Do pinswitch magic when reading GPADC
2017-07-24 22:43:17 +02:00
x86
ACPI / property: Support Apple _DSM properties
2017-08-03 23:26:22 +02:00
ac.c
acpi_amba.c
acpi_apd.c
ACPI: APD: Fix HID for Hisilicon Hip07/08
2017-07-30 14:33:48 +02:00
acpi_cmos_rtc.c
acpi_configfs.c
ACPI: configfs: Unload SSDT on configfs entry removal
2017-06-22 02:43:12 +02:00
acpi_dbg.c
ACPI: fix whitespace in pr_fmt() to align log entries
2017-06-22 02:18:20 +02:00
acpi_extlog.c
acpi_ipmi.c
acpi_lpat.c
ACPI / lpat: Fix typos in comments and kerneldoc style
2017-07-24 22:52:00 +02:00
acpi_lpss.c
ACPI / LPSS: Don't abort ACPI scan on missing mem resource
2017-08-10 01:41:41 +02:00
acpi_memhotplug.c
acpi_pad.c
acpi_platform.c
acpi_pnp.c
acpi_processor.c
ACPI / processor: make function acpi_processor_check_duplicates() static
2017-08-24 03:25:47 +02:00
acpi_video.c
dmi: Mark all struct dmi_system_id instances const
2017-09-14 11:59:30 +02:00
acpi_watchdog.c
ACPI / watchdog: properly initialize resources
2017-09-19 01:49:02 +02:00
battery.c
ACPI: make device_attribute const
2017-08-24 03:38:25 +02:00
battery.h
bgrt.c
ACPI: BGRT: constify attribute_group structures
2017-07-04 22:15:20 +02:00
blacklist.c
dmi: Mark all struct dmi_system_id instances const
2017-09-14 11:59:30 +02:00
bus.c
dmi: Mark all struct dmi_system_id instances const
2017-09-14 11:59:30 +02:00
button.c
ACPI updates for v4.13-rc1
2017-07-04 14:16:49 -07:00
cm_sbs.c
container.c
cppc_acpi.c
custom_method.c
debugfs.c
device_pm.c
ACPI / PM: Add debug statements to acpi_pm_notify_handler()
2017-08-18 01:53:32 +02:00
device_sysfs.c
dock.c
ACPI / dock: constify attribute_group structure
2017-08-03 23:28:24 +02:00
ec.c
dmi: Mark all struct dmi_system_id instances const
2017-09-14 11:59:30 +02:00
ec_sys.c
event.c
evged.c
fan.c
glue.c
hed.c
internal.h
Merge branches 'acpi-x86', 'acpi-soc', 'acpi-pmic' and 'acpi-apple'
2017-09-03 23:54:03 +02:00
ioapic.c
ACPI: fix whitespace in pr_fmt() to align log entries
2017-06-22 02:18:20 +02:00
irq.c
ACPI / irq: Fix return code of acpi_gsi_to_irq()
2017-07-12 13:11:49 +02:00
Kconfig
Makefile
ACPI / property: Support Apple _DSM properties
2017-08-03 23:26:22 +02:00
numa.c
ACPI: NUMA: Fix typo in the full name of SRAT
2017-07-24 22:27:44 +02:00
nvs.c
osi.c
dmi: Mark all struct dmi_system_id instances const
2017-09-14 11:59:30 +02:00
osl.c
pci_irq.c
pci_link.c
pci_mcfg.c
pci_root.c
treewide: Consolidate Apple DMI checks
2017-08-03 23:26:22 +02:00
pci_slot.c
dmi: Mark all struct dmi_system_id instances const
2017-09-14 11:59:30 +02:00
power.c
ACPI / power: constify attribute_group structures
2017-07-04 22:15:14 +02:00
proc.c
ACPI / PM: Drop run_wake from struct acpi_device_wakeup_flags
2017-06-28 01:52:15 +02:00
processor_core.c
processor_driver.c
ACPI: processor: use dev_dbg() instead of dev_warn() when CPPC probe failed
2017-07-27 01:51:06 +02:00
processor_idle.c
Power management updates for v4.14-rc1
2017-09-05 12:19:08 -07:00
processor_pdc.c
dmi: Mark all struct dmi_system_id instances const
2017-09-14 11:59:30 +02:00
processor_perflib.c
processor_thermal.c
processor_throttling.c
property.c
Merge branches 'acpi-pmic', 'acpi-bus', 'acpi-wdat' and 'acpi-properties'
2017-09-22 23:38:45 +02:00
reboot.c
resource.c
ACPI: Introduce DMA ranges parsing
2017-08-07 14:28:51 +02:00
sbs.c
Merge branches 'acpi-video', 'acpi-battery', 'acpi-spcr' and 'acpi-misc'
2017-09-03 23:54:29 +02:00
sbshc.c
sbshc.h
scan.c
Device properties framework updates for v4.14-rc1
2017-09-05 12:50:00 -07:00
sleep.c
dmi: Mark all struct dmi_system_id instances const
2017-09-14 11:59:30 +02:00
sleep.h
spcr.c
Merge branches 'acpi-video', 'acpi-battery', 'acpi-spcr' and 'acpi-misc'
2017-09-03 23:54:29 +02:00
sysfs.c
Merge branches 'acpi-sysfs', 'acpi-apei' and 'acpi-blacklist'
2017-09-03 23:55:34 +02:00
tables.c
ACPICA: Tables: Change table duplication check to be related to acpi_gbl_verify_table_checksum
2017-07-20 16:38:25 +02:00
thermal.c
dmi: Mark all struct dmi_system_id instances const
2017-09-14 11:59:30 +02:00
utils.c
ACPI / blacklist: add acpi_match_platform_list()
2017-08-29 01:42:48 +02:00
video_detect.c
ACPI / video: Add force_none quirk for Dell OptiPlex 9020M
2017-07-16 02:27:23 +02:00
wakeup.c