remarkable-linux/drivers/acpi
Hanjun Guo d4f54a1866 ACPI: platform: setup MSI domain for ACPI based platform device
By allowing platform MSI domain to be created on ACPI platforms,
a platform device MSI domain can be set-up when it is probed.

In order to do that, the MSI domain the platform device connects
to should be retrieved, so the iort_get_platform_device_domain() is
introduced to retrieve the domain from the IORT kernel layer.

With the domain retrieved, we need a proper way to set the
domain to platform device.

Given that some platform devices (irqchips) require the MSI irqdomain
to be their interrupt parent domain, the MSI irqdomain should be
determined before platform device is probed but after the platform
device is allocated which means that the code setting up the MSI
irqdomain, ie acpi_configure_pmsi_domain() should be called in
acpi_platform_notify() (that is triggered after adding a device but
before the respective driver is probed) for the platform MSI domain
code set-up path to work properly.

Acked-by: Rafael J. Wysocki <rafael@kernel.org> [for glue.c]
Signed-off-by: Hanjun Guo <hanjun.guo@linaro.org>
[lorenzo.pieralisi@arm.com: rewrote commit log]
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Tested-by: Ming Lei <ming.lei@canonical.com>
Tested-by: Wei Xu <xuwei5@hisilicon.com>
Tested-by: Sinan Kaya <okaya@codeaurora.org>
Cc: Marc Zyngier <marc.zyngier@arm.com>
Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Cc: Tomasz Nowicki <tn@semihalf.com>
2017-03-30 10:20:01 +01:00
..
acpica scripts/spelling.txt: add "an union" pattern and fix typo instances 2017-02-27 18:43:46 -08:00
apei Merge branch 'WIP.sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2017-03-03 10:16:38 -08:00
arm64 ACPI: platform: setup MSI domain for ACPI based platform device 2017-03-30 10:20:01 +01:00
dptf ACPI / platform: Add support for build-in properties 2016-11-10 00:30:29 +01:00
nfit Merge branch 'libnvdimm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm 2017-03-03 16:48:48 -08:00
pmic
ac.c
acpi_amba.c
acpi_apd.c Merge branches 'acpi-soc', 'acpi-battery', 'acpi-video', 'acpi-cppc' and 'acpi-apei' 2016-12-12 20:48:01 +01:00
acpi_cmos_rtc.c
acpi_configfs.c
acpi_dbg.c
acpi_extlog.c x86/ras, EDAC, acpi: Assign MCE notifier handlers a priority 2017-01-24 09:14:57 +01:00
acpi_ipmi.c acpi:ipmi: Make IPMI user handler const 2017-02-09 09:10:05 -06:00
acpi_lpat.c
acpi_lpss.c pwm: Changes for v4.11-rc1 2017-03-01 09:46:02 -08:00
acpi_memhotplug.c
acpi_pad.c sched/headers: Prepare for new header dependencies before moving code to <uapi/linux/sched/types.h> 2017-03-02 08:42:27 +01:00
acpi_platform.c Merge branch 'device-properties' 2016-11-11 23:23:02 +01:00
acpi_pnp.c
acpi_processor.c acpi/processor: Check for duplicate processor ids at hotplug time 2017-03-11 14:41:20 +01:00
acpi_video.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
acpi_watchdog.c ACPI / watchdog: Print out error number when device creation fails 2016-12-26 23:21:56 +01:00
battery.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
battery.h
bgrt.c efi/x86: Move the EFI BGRT init code to early init code 2017-02-01 08:45:46 +01:00
blacklist.c ACPI / blacklist: Make Dell Latitude 3350 ethernet work 2016-11-16 23:01:29 +01:00
bus.c Revert "x86/acpi: Set persistent cpuid <-> nodeid mapping when booting" 2017-03-11 14:41:18 +01:00
button.c ACPI / button: Remove lid_init_state=method mode 2017-01-31 17:20:45 +01:00
cm_sbs.c
container.c
cppc_acpi.c ACPI / CPPC: Fix per-CPU pointer management in acpi_cppc_processor_probe() 2016-12-12 23:52:34 +01:00
custom_method.c
debugfs.c
device_pm.c
device_sysfs.c ACPI / property: Hierarchical properties support update 2016-11-24 02:43:47 +01:00
dock.c
ec.c ACPI / EC: Use busy polling mode when GPE is not enabled 2017-01-30 12:12:52 +01:00
ec_sys.c
event.c genetlink: mark families as __ro_after_init 2016-10-27 16:16:09 -04:00
evged.c
fan.c
glue.c ACPI: platform: setup MSI domain for ACPI based platform device 2017-03-30 10:20:01 +01:00
hed.c
internal.h x86/ioapic: Split IOAPIC hot-removal into two steps 2017-03-01 10:51:41 +01:00
ioapic.c x86/ioapic: Split IOAPIC hot-removal into two steps 2017-03-01 10:51:41 +01:00
irq.c ACPI: Add support for ResourceSource/IRQ domain mapping 2017-02-03 15:03:48 +00:00
Kconfig Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2016-12-14 11:12:25 -08:00
Makefile ACPI: Add support for ResourceSource/IRQ domain mapping 2017-02-03 15:03:48 +00:00
numa.c ACPI/NUMA: Do not map pxm to node when NUMA is turned off 2016-12-15 11:32:32 +01:00
nvs.c
osi.c
osl.c ACPICA: Hardware: Add sleep register hooks 2017-01-02 23:18:41 +01:00
pci_irq.c
pci_link.c
pci_mcfg.c PCI/ACPI: Fix bus range comparison in pci_mcfg_lookup() 2017-01-12 14:32:09 -06:00
pci_root.c x86/ioapic: Split IOAPIC hot-removal into two steps 2017-03-01 10:51:41 +01:00
pci_slot.c
power.c
proc.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
processor_core.c Revert"x86/acpi: Enable MADT APIs to return disabled apicids" 2017-03-11 14:41:18 +01:00
processor_driver.c
processor_idle.c x86/amd: Simplify AMD E400 aware idle routine 2016-12-09 21:23:21 +01:00
processor_pdc.c
processor_perflib.c ACPI: processor_perflib: Simplify code and stop using CPUFREQ_START 2017-02-04 00:05:29 +01:00
processor_thermal.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
processor_throttling.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
property.c ACPI / property: Hierarchical properties support update 2016-11-24 02:43:47 +01:00
reboot.c
resource.c scripts/spelling.txt: add "overrided" pattern and fix typo instances 2017-02-27 18:43:47 -08:00
sbs.c
sbshc.c
sbshc.h
scan.c ACPI / sysfs: Provide quirk mechanism to prevent GPE flooding 2016-12-26 23:16:39 +01:00
sleep.c ACPI: save NVS memory for Lenovo G50-45 2017-01-31 22:46:59 +01:00
sleep.h
spcr.c scripts/spelling.txt: add "intialization" pattern and fix typo instances 2017-02-27 18:43:47 -08:00
sysfs.c ACPI / sysfs: Provide quirk mechanism to prevent GPE flooding 2016-12-26 23:16:39 +01:00
tables.c ACPI / osl: Remove acpi_get_table_with_size()/early_acpi_os_unmap_memory() users 2016-12-21 02:36:38 +01:00
thermal.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
utils.c
video_detect.c Revert "ACPI / video: Add force_native quirk for HP Pavilion dv6" 2017-01-25 14:04:13 +01:00
wakeup.c