mbox series

[0/7] al-msi: Rename driver and add support for ACPI

Message ID 1554035655-11352-1-git-send-email-hhhawa@amazon.com (mailing list archive)
Headers show
Series al-msi: Rename driver and add support for ACPI | expand

Message

Hawa, Hanna March 31, 2019, 12:34 p.m. UTC
This series includes three major changes:
1. IOMMU DMA mapping MSI message fix.
2. Re-name the AL-MSIx driver to new name convention.
3. Add ACPI support for the driver.

Alpine is the name of the SoC family, while AL stands for Annapurna
Labs. Rename to the latter since the driver will appear in other SoC
families other than Alpine.

The AL-MSIx controller is not standard, is not included in the UEFI
specification, and will not be added. The driver ACPI binding is
performed when the following conditions are true:
- OEM ID is AMAZON
- MADT table type is 0x80 (part of the OEM reserved range).

GICv2m driver is called from context of parent interrupt controller,
which ensures that the parent interrupt domain exists and holds valid
information. As calling AL-MSIx driver from GICv3 driver would not make
sense, a new API was added, to get the GSI IRQ domain that was registered
by GICv3 driver in the ACPI framework.

Hanna Hawa (7):
  irqchip/alpine-msi: Call IOMMU DMA mapping MSI message hook
  irqchip/alpine-msi: Update driver license to use SPDX
  irqchip/al-msi: Rename AL-MSIx driver
  irqchip/al-msi: Update wrong parameter naming
  ACPI / irq: Add GSI IRQ domain getter function
  irqchip/al-msi: Refactor in preparation to add ACPI support
  irqchip/al-msi: Add ACPI support

 arch/arm/mach-alpine/Kconfig                       |   2 +-
 arch/arm64/Kconfig.platforms                       |   2 +-
 drivers/acpi/irq.c                                 |  13 +
 drivers/irqchip/Kconfig                            |   2 +-
 drivers/irqchip/Makefile                           |   2 +-
 drivers/irqchip/{irq-alpine-msi.c => irq-al-msi.c} | 320 ++++++++++++++-------
 include/linux/acpi.h                               |   1 +
 7 files changed, 236 insertions(+), 106 deletions(-)
 rename drivers/irqchip/{irq-alpine-msi.c => irq-al-msi.c} (40%)

Comments

Marc Zyngier April 1, 2019, 2:02 a.m. UTC | #1
On Sun, 31 Mar 2019 13:34:08 +0100,
Hanna Hawa <hhhawa@amazon.com> wrote:
> 
> This series includes three major changes:
> 1. IOMMU DMA mapping MSI message fix.
> 2. Re-name the AL-MSIx driver to new name convention.
> 3. Add ACPI support for the driver.
> 
> Alpine is the name of the SoC family, while AL stands for Annapurna
> Labs. Rename to the latter since the driver will appear in other SoC
> families other than Alpine.
> 
> The AL-MSIx controller is not standard, is not included in the UEFI
> specification, and will not be added. The driver ACPI binding is
> performed when the following conditions are true:
> - OEM ID is AMAZON
> - MADT table type is 0x80 (part of the OEM reserved range).

[+Lorenzo, as the arm64 ACPI maintainer]

So you're happy to explicitly violate the letter of the specification?
That's not really going to fly. We've pushed back on such things in
the past (MBIGEN, XGene MSI controller), and I don't see any
compelling reason to change our tune.

> GICv2m driver is called from context of parent interrupt controller,
> which ensures that the parent interrupt domain exists and holds valid
> information. As calling AL-MSIx driver from GICv3 driver would not make
> sense, a new API was added, to get the GSI IRQ domain that was registered
> by GICv3 driver in the ACPI framework.

What does this mean? Either your system has a GICv2m or it has a
GICv3. Please explain what this is all about.

Thanks,

	M.