Re: [PATCH V6 0/7] Introduce ACPI world to ITS irqchip

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 15.06.2016 11:09, Marc Zyngier wrote:
On Mon, 13 Jun 2016 16:41:06 +0200
Tomasz Nowicki <tn@xxxxxxxxxxxx> wrote:

The series builds the PCI/MSI domain stack based on initial IORT driver
which is added in first place. As a reference please see IORT spec:
http://infocenter.arm.com/help/topic/com.arm.doc.den0049b/DEN0049B_IO_Remapping_Table.pdf

Patches were built on top of accepted ARM64 ACPI PCI support and can be found
all together here:
https://github.com/semihalf-nowicki-tomasz/linux.git (its-acpi-v6)

Tested on Cavium ThunderX server.

v5 -> v6
- added locking mechanism for IORT list with domain token
- IORT function name improvements
- extended IORT RID mapping helper
- reworked IORT to be more SMMU friendly
- IORT functions which map RID and find corresponding domain are not
   PCI specific any more (struct pci_dev -> struct device)
- bug fixes

v4 -> v5
- rebased against v4.7-rc1
- drop generic layer and call IORT functions directly
- improve resource abstraction and string formatting

v3 -> v4
- rebased against v4.5
- add ACPI support for IRQ domain handling on a per-device basis
- reorder domain setup step
- improve error handling
- code style improvements

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

Tomasz Nowicki (7):
   ACPI: I/O Remapping Table (IORT) initial support
   PCI/MSI: Setup MSI domain on a per-devices basis using IORT ACPI table
   irqchip/gicv3-its: Cleanup for ITS domain initialization
   irqchip/gicv3-its: Refator ITS DT init code to prepare for ACPI
   irqchip/gicv3-its: Probe ITS in the ACPI way
   irqchip/gicv3-its: Factor out code that might be reused for ACPI
   irqchip/gicv3-its: Use MADT ITS subtable to do PCI/MSI domain
     initialization

  drivers/acpi/Kconfig                     |   3 +
  drivers/acpi/Makefile                    |   1 +
  drivers/acpi/iort.c                      | 386 +++++++++++++++++++++++++++++++
  drivers/irqchip/Kconfig                  |   1 +
  drivers/irqchip/irq-gic-v3-its-pci-msi.c |  88 +++++--
  drivers/irqchip/irq-gic-v3-its.c         | 185 ++++++++++-----
  drivers/irqchip/irq-gic-v3.c             |   7 +-
  drivers/pci/msi.c                        |  11 +-
  include/linux/iort.h                     |  38 +++
  include/linux/irqchip/arm-gic-v3.h       |   4 +-
  10 files changed, 646 insertions(+), 78 deletions(-)
  create mode 100644 drivers/acpi/iort.c
  create mode 100644 include/linux/iort.h



Once you've addressed the couple of remarks I had, and unless someone
has further objections, this should be in a sane state.

Thanks for having a look !


Of course, the following question would be "who merges this thing". I'm
happy to take it (mostly because it makes my life easier on the ITS
side), but it needs to be Acked by the usual suspects (Rafael, Bjorn,
Lorenzo).


As for me, I am fine you to merge it.

Bjorn, Rafael, Lorenzo,

Can you please check on respective patches? Thanks in advance.

Tomasz
--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux