ACPI/IORT: Add support for ARM SMMU platform devices creation
authorLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Mon, 21 Nov 2016 10:01:41 +0000 (10:01 +0000)
committerWill Deacon <will.deacon@arm.com>
Tue, 29 Nov 2016 15:57:45 +0000 (15:57 +0000)
commit846f0e9e74a034750123860804e247c13c5ee2ec
tree7d7a00015d2cd502beebf407fcc793af0fbf8cf1
parentbdca0c077fc5c2a7bb405281263270070c67f917
ACPI/IORT: Add support for ARM SMMU platform devices creation

In ARM ACPI systems, IOMMU components are specified through static
IORT table entries. In order to create platform devices for the
corresponding ARM SMMU components, IORT kernel code should be made
able to parse IORT table entries and create platform devices
dynamically.

This patch adds the generic IORT infrastructure required to create
platform devices for ARM SMMUs.

ARM SMMU versions have different resources requirement therefore this
patch also introduces an IORT specific structure (ie iort_iommu_config)
that contains hooks (to be defined when the corresponding ARM SMMU
driver support is added to the kernel) to be used to define the
platform devices names, init the IOMMUs, count their resources and
finally initialize them.

Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Reviewed-by: Tomasz Nowicki <tn@semihalf.com>
Tested-by: Hanjun Guo <hanjun.guo@linaro.org>
Tested-by: Tomasz Nowicki <tn@semihalf.com>
Acked-by: Hanjun Guo <hanjun.guo@linaro.org>
Cc: Hanjun Guo <hanjun.guo@linaro.org>
Cc: Tomasz Nowicki <tn@semihalf.com>
Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net>
Signed-off-by: Will Deacon <will.deacon@arm.com>
drivers/acpi/arm64/iort.c