diff mbox

[1/2] ARM64/irqchip: Update ACPI_IORT symbol selection logic

Message ID 20170614163713.14574-1-lorenzo.pieralisi@arm.com (mailing list archive)
State New, archived
Headers show

Commit Message

Lorenzo Pieralisi June 14, 2017, 4:37 p.m. UTC
ACPI IORT is an ACPI addendum to describe the connection topology of
devices with IOMMUs and interrupt controllers on ARM64 ACPI systems.

Currently the ACPI IORT Kbuild symbol is selected whenever the Kbuild
symbol ARM_GIC_V3_ITS is enabled, which in turn is selected by ARM64
Kbuild defaults. This makes the logic behind ACPI_IORT selection a bit
twisted and not easy to follow. On ARM64 systems enabling ACPI the
kbuild symbol ACPI_IORT should always be selected in that it is a kernel
layer provided to the ARM64 arch code to parse and enable ACPI firmware
bindings.

Make the ACPI_IORT selection explicit in ARM64 Kbuild and remove the
selection from ARM_GIC_V3_ITS entry, making the ACPI_IORT selection
logic clearer to follow.

Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Cc: Will Deacon <will.deacon@arm.com>
Cc: Hanjun Guo <hanjun.guo@linaro.org>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Marc Zyngier <marc.zyngier@arm.com>
---
 arch/arm64/Kconfig      | 1 +
 drivers/irqchip/Kconfig | 1 -
 2 files changed, 1 insertion(+), 1 deletion(-)

Comments

Hanjun Guo June 15, 2017, 3:59 a.m. UTC | #1
On 2017/6/15 0:37, Lorenzo Pieralisi wrote:
> ACPI IORT is an ACPI addendum to describe the connection topology of
> devices with IOMMUs and interrupt controllers on ARM64 ACPI systems.
> 
> Currently the ACPI IORT Kbuild symbol is selected whenever the Kbuild
> symbol ARM_GIC_V3_ITS is enabled, which in turn is selected by ARM64
> Kbuild defaults. This makes the logic behind ACPI_IORT selection a bit
> twisted and not easy to follow. On ARM64 systems enabling ACPI the
> kbuild symbol ACPI_IORT should always be selected in that it is a kernel
> layer provided to the ARM64 arch code to parse and enable ACPI firmware
> bindings.
> 
> Make the ACPI_IORT selection explicit in ARM64 Kbuild and remove the
> selection from ARM_GIC_V3_ITS entry, making the ACPI_IORT selection
> logic clearer to follow.
> 
> Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
> Cc: Will Deacon <will.deacon@arm.com>
> Cc: Hanjun Guo <hanjun.guo@linaro.org>
> Cc: Catalin Marinas <catalin.marinas@arm.com>
> Cc: Marc Zyngier <marc.zyngier@arm.com>
> ---
>   arch/arm64/Kconfig      | 1 +
>   drivers/irqchip/Kconfig | 1 -
>   2 files changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
> index b2024db..2424fb4 100644
> --- a/arch/arm64/Kconfig
> +++ b/arch/arm64/Kconfig
> @@ -3,6 +3,7 @@ config ARM64
>   	select ACPI_CCA_REQUIRED if ACPI
>   	select ACPI_GENERIC_GSI if ACPI
>   	select ACPI_GTDT if ACPI
> +	select ACPI_IORT if ACPI
>   	select ACPI_REDUCED_HARDWARE_ONLY if ACPI
>   	select ACPI_MCFG if ACPI
>   	select ACPI_SPCR_TABLE if ACPI
> diff --git a/drivers/irqchip/Kconfig b/drivers/irqchip/Kconfig
> index 478f8ac..4a57b8f 100644
> --- a/drivers/irqchip/Kconfig
> +++ b/drivers/irqchip/Kconfig
> @@ -39,7 +39,6 @@ config ARM_GIC_V3_ITS
>   	bool
>   	depends on PCI
>   	depends on PCI_MSI
> -	select ACPI_IORT if ACPI

Make sense to me, IORT also describe SMMU+IO topology. I
give this patch a light test with CONFIG combination compile
test, and see no issues,

Acked-by: Hanjun Guo <hanjun.guo@linaro.org>

Thanks
Hanjun

>   
>   config ARM_NVIC
>   	bool
>
Marc Zyngier June 15, 2017, 7:28 a.m. UTC | #2
On 14/06/17 17:37, Lorenzo Pieralisi wrote:
> ACPI IORT is an ACPI addendum to describe the connection topology of
> devices with IOMMUs and interrupt controllers on ARM64 ACPI systems.
> 
> Currently the ACPI IORT Kbuild symbol is selected whenever the Kbuild
> symbol ARM_GIC_V3_ITS is enabled, which in turn is selected by ARM64
> Kbuild defaults. This makes the logic behind ACPI_IORT selection a bit
> twisted and not easy to follow. On ARM64 systems enabling ACPI the
> kbuild symbol ACPI_IORT should always be selected in that it is a kernel
> layer provided to the ARM64 arch code to parse and enable ACPI firmware
> bindings.
> 
> Make the ACPI_IORT selection explicit in ARM64 Kbuild and remove the
> selection from ARM_GIC_V3_ITS entry, making the ACPI_IORT selection
> logic clearer to follow.
> 
> Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
> Cc: Will Deacon <will.deacon@arm.com>
> Cc: Hanjun Guo <hanjun.guo@linaro.org>
> Cc: Catalin Marinas <catalin.marinas@arm.com>
> Cc: Marc Zyngier <marc.zyngier@arm.com>

Acked-by: Marc Zyngier <marc.zyngier@arm.com>

	M.
diff mbox

Patch

diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
index b2024db..2424fb4 100644
--- a/arch/arm64/Kconfig
+++ b/arch/arm64/Kconfig
@@ -3,6 +3,7 @@  config ARM64
 	select ACPI_CCA_REQUIRED if ACPI
 	select ACPI_GENERIC_GSI if ACPI
 	select ACPI_GTDT if ACPI
+	select ACPI_IORT if ACPI
 	select ACPI_REDUCED_HARDWARE_ONLY if ACPI
 	select ACPI_MCFG if ACPI
 	select ACPI_SPCR_TABLE if ACPI
diff --git a/drivers/irqchip/Kconfig b/drivers/irqchip/Kconfig
index 478f8ac..4a57b8f 100644
--- a/drivers/irqchip/Kconfig
+++ b/drivers/irqchip/Kconfig
@@ -39,7 +39,6 @@  config ARM_GIC_V3_ITS
 	bool
 	depends on PCI
 	depends on PCI_MSI
-	select ACPI_IORT if ACPI
 
 config ARM_NVIC
 	bool