Re: [PATCH V3 00/10] Introduce ACPI world to GICv3 & ITS irqchip

From: Robert Richter
Date: Fri Jan 22 2016 - 19:39:34 EST


On 19.01.16 14:11:13, Tomasz Nowicki wrote:
> Patches base on Suravee's ACPI GICv2m support:
> https://lkml.org/lkml/2015/12/10/475
>
> The following git branch contains submitted patches along with
> the useful patches from the test point of view (mainly ACPI ARM64 PCI support).
> https://github.com/semihalf-nowicki-tomasz/linux.git (gicv3-its-acpi-v3)
>
> Series has been tested on Cavium ThunderX server.
>
> v2 -> v3
> - rebased on top of 4.4
> - fixes and improvements for redistributor init via GICC structures
> - fixes as per kbuild reports
>
> v1 -> v2
> - rebased on top of 4.4-rc4
> - use pci_msi_domain_get_msi_rid for requester ID to device ID translation
>
> Hanjun Guo (1):
> irqchip / GICv3: remove gic root node in ITS
>
> Tomasz Nowicki (9):
> irqchip / GICv3: Refactor gic_of_init() for GICv3 driver
> irqchip / GICv3: Add ACPI support for GICv3+ initialization
> irqchip,GICv3,ACPI: Add redistributor support via GICC structures.
> irqchip, gicv3, its: Mark its_init() and its children as __init
> irqchip, GICv3, ITS: Refator ITS dt init code to prepare for ACPI.
> ARM64, ACPI, PCI: I/O Remapping Table (IORT) initial support.
> irqchip, gicv3, its: Probe ITS in the ACPI way.
> acpi, gicv3, msi: Factor out code that might be reused for ACPI
> equivalent.
> acpi, gicv3, its: Use MADT ITS subtable to do PCI/MSI domain
> initialization.
>
> drivers/acpi/Kconfig | 3 +
> drivers/acpi/Makefile | 1 +
> drivers/acpi/iort.c | 326 +++++++++++++++++++++++++++++
> drivers/irqchip/Kconfig | 1 +
> drivers/irqchip/irq-gic-v3-its-pci-msi.c | 85 ++++++--
> drivers/irqchip/irq-gic-v3-its.c | 143 +++++++++----
> drivers/irqchip/irq-gic-v3.c | 344 ++++++++++++++++++++++++++-----
> drivers/pci/msi.c | 3 +
> include/linux/iort.h | 38 ++++
> include/linux/irqchip/arm-gic-v3.h | 2 +-
> 10 files changed, 845 insertions(+), 101 deletions(-)
> create mode 100644 drivers/acpi/iort.c
> create mode 100644 include/linux/iort.h

Tested on various ThunderX single and dual node systems.

Tested-by: Robert Richter <rrichter@xxxxxxxxxx>

Thanks Tomasz,

-Robert