linux/drivers
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>
History 2022-08-17 15:14:14 +02:00
..
accessibility Revert "speakup: Generate speakupmap.h automatically" 2022-05-20 21:07:05 +02:00
acpi ACPI: VIOT: Fix ACS setup 2022-08-17 15:14:14 +02:00
amba ARM: 9207/1: amba: fix refcount underflow if amba_device_add() fails 2022-07-14 13:17:48 +01:00
android fix for breakage in #work.fd this window 2022-06-05 17:14:03 -07:00
ata ata: sata_mv: Fixes expected number of resources now IRQs are gone 2022-08-11 13:22:03 +02:00
atm net: atm: remove support for ZeitNet ZN122x ATM devices 2022-04-27 12:22:56 +01:00
auxdisplay auxdisplay: lcd2s: Use array size explicitly in lcd2s_gotoxy() 2022-03-18 20:31:14 +01:00
base Just when you thought that all the speculation bugs were addressed and 2022-07-11 18:15:25 -07:00
bcma bcma: gpio: Switch to use fwnode instead of of_node 2022-05-09 14:41:43 +03:00
block xen/blkfront: force data bouncing when backend is untrusted 2022-07-01 10:00:50 +02:00
bluetooth Bluetooth: btusb: Add Realtek RTL8852C support ID 0x13D3:0x3586 2022-08-11 13:22:05 +02:00
bus bus: hisi_lpc: fix missing platform_device_put() in hisi_lpc_acpi_probe() 2022-08-17 15:14:13 +02:00
cdrom cdrom: remove obsolete TODO list 2022-05-15 18:31:28 -06:00
char random: cap jitter samples per bit to factor of HZ 2022-07-16 10:42:12 -07:00
clk clk: sunxi-ng: Fix H6 RTC clock definition 2022-07-27 16:45:58 -07:00
clocksource clocksource: hyper-v: unexport __init-annotated hv_init_clocksource() 2022-06-08 12:27:08 +00:00
comedi comedi: vmk80xx: fix expression for tx buffer size 2022-06-10 15:21:23 +02:00
connector connector/cn_proc: Use task_is_in_init_pid_ns() 2022-01-26 18:57:09 -08:00
counter Char/Misc and other driver updates for 5.18-rc1 2022-03-28 12:27:35 -07:00
cpufreq PM: EM: convert power field to micro-Watts precision and align drivers 2022-08-17 15:14:05 +02:00
cpuidle Merge branches 'pm-em' and 'pm-cpuidle' 2022-05-23 19:18:51 +02:00
crypto crypto: ccp - Use kzalloc for sev ioctl interfaces to prevent kernel memory leak 2022-08-17 15:13:48 +02:00
cxl cxl/mbox: Fix missing variable payload checks in cmd size validation 2022-06-28 22:03:18 -07:00
dax dax: add .recovery_write dax_operation 2022-05-16 13:37:59 -07:00
dca dca: Use PTR_ERR_OR_ZERO() to simplify code 2020-05-15 16:25:20 +02:00
devfreq PM / devfreq: exynos-bus: Fix NULL pointer dereference 2022-07-08 04:32:26 +09:00
dio drivers: dio: add missing iounmap() in dio_init() 2022-05-19 18:56:51 +02:00
dma dmaengine: lgm: Fix an error handling path in intel_ldma_probe() 2022-07-06 10:53:25 +05:30
dma-buf Three mode setting fixes for fsl-ldb, a fbdev removal use-after-free fix, 2022-07-12 10:44:40 +10:00
edac EDAC/ghes: Set the DIMM label unconditionally 2022-07-27 10:42:52 +02:00
eisa EISA: use DEVICE_ATTR_RO() helper macro 2021-06-04 15:28:34 +02:00
extcon extcon: Modify extcon device to be created after driver data is set 2022-05-13 17:03:41 +09:00
firewire firewire: convert sysfs sprintf/snprintf family to sysfs_emit 2022-06-17 10:43:20 +02:00
firmware firmware: tegra: Fix error check return value of debugfs_create_file() 2022-08-17 15:14:05 +02:00
fpga fpga: dfl: Allow Port to be linked to FME's DFL 2022-05-10 16:05:38 +08:00
fsi FSI changes for v5.18 2022-02-21 17:47:42 +01:00
gnss gnss: usb: add support for Sierra Wireless XM1210 2021-12-22 15:38:12 +01:00
gpio gpio fixes for v5.19-rc8 2022-07-22 12:28:47 -07:00
gpu drm/amdgpu: Check BO's requested pinning domains against its preferred_domains 2022-08-17 15:13:52 +02:00
greybus greybus: svc: clean up link configuration hack at hello 2022-02-04 15:27:44 +01:00
hid HID: wacom: Don't register pad_input for touch switch 2022-08-17 15:13:42 +02:00
hsi HSI: core: Fix return freed object in hsi_new_client 2021-11-26 00:27:06 +01:00
hte hte: Uninitialized variable in hte_ts_get() 2022-05-20 15:54:41 +02:00
hv Drivers: hv: vmbus: Release cpu lock in error case 2022-06-10 08:41:28 +00:00
hwmon hwmon: (sht15) Fix wrong assumptions in device remove callback 2022-08-17 15:14:05 +02:00
hwspinlock hwspinlock: sprd: Use struct_size() helper in devm_kzalloc() 2022-03-11 14:56:57 -06:00
hwtracing coresight: Clear the connection field properly 2022-08-17 15:13:57 +02:00
i2c i2c: cadence: Change large transfer count reset logic to be unconditional 2022-07-16 14:44:12 +02:00
i3c i3c: master: svc: fix returnvar.cocci warning 2022-05-17 22:34:42 +02:00
idle intel_idle: Fix false positive RCU splats due to incorrect hardirqs state 2022-07-25 19:39:07 +02:00
iio iio: light: isl29028: Fix the warning in isl29028_remove() 2022-08-17 15:13:53 +02:00
infiniband RDMA/irdma: Fix sleep from invalid context BUG 2022-07-11 03:04:16 -03:00
input Input updates for v5.19-rc6 2022-07-17 07:52:46 -07:00
interconnect Char / Misc / Other smaller driver subsystem updates for 5.19-rc1 2022-06-03 11:36:34 -07:00
iommu iommu/vt-d: Fix RID2PASID setup/teardown failure 2022-07-06 12:59:21 +02:00
ipack ipack: ipoctal: rename tty-driver pointer 2021-10-04 11:21:24 +02:00
irqchip irqchip/mips-gic: Check the return value of ioremap() in gic_of_init() 2022-08-17 15:14:01 +02:00
isdn net: remove noblock parameter from skb_recv_datagram() 2022-04-06 13:45:26 +01:00
leds ARM: multiplatform changes, part 2 2022-06-02 15:23:54 -07:00
macintosh macintosh/adb: fix oob read in do_adb_query() function 2022-08-11 13:22:05 +02:00
mailbox mailbox: qcom-ipcc: Fix -Wunused-function with CONFIG_PM_SLEEP=n 2022-05-24 08:08:24 -05:00
mcb mcb: fix error handling in mcb_alloc_bus() 2021-09-14 11:22:26 +02:00
md md-raid10: fix KASAN warning 2022-08-17 15:13:55 +02:00
media media: isl7998x: select V4L2_FWNODE to fix build error 2022-08-17 15:13:56 +02:00
memory memory: samsung: exynos5422-dmc: Fix refcount leak in of_get_dram_timings 2022-06-06 11:18:20 +02:00
memstick memstick/mspro_block: simplify refcounting 2022-02-16 19:44:24 -07:00
message scsi: message: fusion: Remove unused variable retval 2022-04-25 23:26:32 -04:00
mfd ARM: multiplatform changes, part 2 2022-06-02 15:23:54 -07:00
misc lkdtm: Disable return thunks in rodata.c 2022-07-20 19:24:53 +02:00
mmc mmc: sdhci-omap: Fix a lockdep warning for PM runtime init 2022-07-13 12:29:17 +02:00
most most: usb: replace snprintf in show functions with sysfs_emit 2021-11-26 17:03:47 +01:00
mtd mtd: rawnand: arasan: Update NAND bus clock instead of system clock 2022-08-17 15:13:52 +02:00
mux mux: Fix struct mux_state kernel-doc comment 2022-02-04 15:47:12 +01:00
net Revert "net: usb: ax88179_178a needs FLAG_SEND_ZLP" 2022-08-17 15:13:58 +02:00
nfc NFC: nxp-nci: don't print header length mismatch on i2c error 2022-06-29 14:05:00 +01:00
ntb ntb: intel: fix port config status offset for SPR 2022-01-28 10:19:16 -05:00
nubus proc: remove PDE_DATA() completely 2022-01-22 08:33:37 +02:00
nvdimm nvdimm: Fix badblocks clear off-by-one error 2022-06-24 11:57:19 -07:00
nvme nvme-pci: Crucial P2 has bogus namespace ids 2022-07-25 07:34:07 +02:00
nvmem nvmem: sfp: Add support for TA 2.1 devices 2022-05-09 15:46:29 +02:00
of drm for 5.19-rc1 2022-05-25 16:18:27 -07:00
opp PM: EM: convert power field to micro-Watts precision and align drivers 2022-08-17 15:14:05 +02:00
parisc parisc: Check the return value of ioremap() in lba_driver_probe() 2022-08-17 15:13:48 +02:00
parport parport_pc: Also enable driver for PCI systems 2022-03-18 14:01:41 +01:00
pci Driver core changes for 5.19-rc1 2022-06-03 11:48:47 -07:00
pcmcia ARM: multiplatform changes, part 2 2022-06-02 15:23:54 -07:00
peci peci: Add peci-cpu driver 2022-02-09 08:04:44 +01:00
perf RISC-V: Update user page mapping only once during start 2022-08-17 15:13:50 +02:00
phy phy-for-5.19 2022-05-19 16:56:17 +02:00
pinctrl pinctrl: armada-37xx: use raw spinlocks for regmap to avoid invalid wait context 2022-07-19 00:57:38 +02:00
platform platform-drivers-x86 for v5.19-4 2022-07-15 10:12:22 -07:00
pnp PNP update for 5.18-rc1 2022-03-21 14:46:01 -07:00
power power: supply: core: Fix boundary conditions in interpolation 2022-06-09 21:08:38 +02:00
powercap PM: EM: convert power field to micro-Watts precision and align drivers 2022-08-17 15:14:05 +02:00
pps pps: generators: pps_gen_parport: Switch to use module_parport_driver() 2022-03-18 14:01:19 +01:00
ps3 powerpc/ps3: Warn on PS3 device errors 2021-06-10 21:44:58 +10:00
ptp ptp: ocp: Select CRC16 in the Kconfig. 2022-07-27 18:11:34 -07:00
pwm pwm: pwm-cros-ec: Add channel type support 2022-05-20 16:40:01 +02:00
rapidio rapidio: remove unnecessary use of list iterator 2022-04-29 14:38:03 -07:00
ras RAS/CEC: Remove a repeated 'an' in a comment 2021-12-11 11:55:27 +01:00
regulator regulator: qcom_smd: Fix pm8916_pldo range 2022-08-17 15:14:12 +02:00
remoteproc remoteproc: imx_rproc: Support i.MX93 2022-05-09 09:29:25 -06:00
reset TI Driver updates for v5.19 2022-05-09 23:09:10 +02:00
rpmsg Driver core changes for 5.19-rc1 2022-06-03 11:48:47 -07:00
rtc rtc: rx8025: fix 12/24 hour mode detection on RX-8035 2022-08-17 15:13:50 +02:00
s390 s390/qeth: Fix typo 'the the' in comment 2022-07-25 10:52:28 +01:00
sbus module: remove never implemented MODULE_SUPPORTED_DEVICE 2021-03-17 13:16:18 -07:00
scsi scsi: qla2xxx: Zero undefined mailbox IN registers 2022-08-17 15:13:54 +02:00
sh maple: fix wrong return value of maple_bus_init(). 2021-09-17 14:00:09 -04:00
siox bus: Make remove callback return void 2021-07-21 11:53:42 +02:00
slimbus Driver core changes for 5.19-rc1 2022-06-03 11:48:47 -07:00
soc soc: qcom: aoss: Fix refcount leak in qmp_cooling_devices_register 2022-08-17 15:14:13 +02:00
soundwire soundwire: qcom: Check device status before reading devid 2022-08-17 15:13:54 +02:00
spi spi: s3c64xx: constify fsd_spi_port_config 2022-08-17 15:14:10 +02:00
spmi spmi: spmi-pmic-arb: fix irq_set_type race condition 2021-12-17 17:18:18 +01:00
ssb ssb: remove unreachable code 2022-05-11 08:29:11 +03:00
staging media: [PATCH] pci: atomisp_cmd: fix three missing checks on list iterator 2022-08-17 15:13:56 +02:00
target scsi: target: Fix WRITE_SAME No Data Buffer crash 2022-07-07 16:38:14 -04:00
tc The main MIPS changes for 5.6: 2020-01-31 11:28:31 -08:00
tee tee: tee_get_drvdata(): fix description of return value 2022-07-08 10:51:24 +02:00
thermal PM: EM: convert power field to micro-Watts precision and align drivers 2022-08-17 15:14:05 +02:00
thunderbolt USB / Thunderbolt changes for 5.19-rc1 2022-06-03 11:17:49 -07:00
tty serial: mvebu-uart: uart2 error bits clearing 2022-08-17 15:13:55 +02:00
ufs scsi: ufs: core: Fix a race condition related to device management 2022-07-26 21:59:29 -04:00
uio uio: dfl: add HSSI subsystem feature id 2022-05-09 15:42:57 +02:00
usb usb: dwc3: gadget: fix high speed multiplier setting 2022-08-17 15:13:58 +02:00
vdpa vduse: Tie vduse mgmtdev and its device 2022-06-24 02:49:48 -04:00
vfio vfio: Move IOMMU_CAP_CACHE_COHERENCY test to after we know we have a group 2022-07-05 16:06:50 -06:00
vhost vhost-vdpa: call vhost_vdpa_cleanup during the release 2022-06-27 08:05:35 -04:00
video fbcon: Fix accelerated fbdev scrolling while logo is still shown 2022-08-17 15:13:47 +02:00
virt virt: sev-guest: Pass the appropriate argument type to iounmap() 2022-07-19 22:26:02 +02:00
virtio virtio_ring: make vring_create_virtqueue_split prettier 2022-06-27 08:05:35 -04:00
vlynq bus: Make remove callback return void 2021-07-21 11:53:42 +02:00
vme staging: vme: Move vme_user to staging KConfig 2022-04-22 16:47:29 +02:00
w1 w1/ds2490: remove dump from ds_recv_status, pr_ to dev_XXX logging. 2022-04-24 17:30:22 +02:00
watchdog watchdog: gxp: Add missing MODULE_LICENSE 2022-06-09 12:20:34 +02:00
xen xen/gntdev: Ignore failure to unmap INVALID_GRANT_HANDLE 2022-07-11 11:39:45 +02:00
zorro proc: remove PDE_DATA() completely 2022-01-22 08:33:37 +02:00
Kconfig SCSI misc on 20220604 2022-06-05 09:25:12 -07:00
Makefile SCSI misc on 20220604 2022-06-05 09:25:12 -07:00