]> git.baikalelectronics.ru Git - kernel.git/commit
ACPI: platform: setup MSI domain for ACPI based platform device
authorHanjun Guo <hanjun.guo@linaro.org>
Tue, 7 Mar 2017 12:40:06 +0000 (20:40 +0800)
committerLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Thu, 30 Mar 2017 09:20:01 +0000 (10:20 +0100)
commit3bf4d06a0998b079f21a62f770b2699ec40a8916
tree7a657d47ea2179269dd97bdebb03ec62e92b0a47
parent6c3b940dcda8297fc7e5fdff408fe1cffb6873d1
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>
drivers/acpi/arm64/iort.c
drivers/acpi/glue.c
include/linux/acpi_iort.h