PCI: X-Gene: Add APM X-Gene v1 MSI/MSIX termination driver
Status from this message: I applied these to pci/host-xgene for v4.2, thanks!
Get series with b4
b4 am [email protected]Versions newest first · linked by author and title
- v10 Latest4 patches 2 repliesApplied
- v94 patches 2 repliesSuperseded
- v84 patches 2 repliesSuperseded
Earlier versions · 9
| Version | Posted | Patches | Replies | Status |
|---|---|---|---|---|
| v7 | 4 patches | 2 replies | Superseded | |
| v6 | 4 patches | 2 replies | Superseded | |
| v5 | 4 patches | 7 replies | Superseded | |
| v4 | 4 patches | 5 replies | Superseded | |
| v3 | 4 patches | 20 replies | Superseded | |
| v2 posting 3/3 | 0 of 4 patches | 0 replies | Superseded | |
| v2 posting 2/3 | 0 of 4 patches | 0 replies | Superseded | |
| v2 posting 1/3 | 4 patches | 0 replies | Superseded | |
| v1 | 4 patches | 0 replies | Superseded |
Changes in v10 from the cover letter
1. Remove inline in helper functions
2. Simplify hwirq_to_cpu implementation
Patches in v10 Applied
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/4 | documentation: dts: Add the device tree binding for APM X-Gene v1 PCIe MSI device tree nodeDocumentation/ | +68 | 0 replies | |
| 2/4 | PCI: X-Gene: Add the APM X-Gene v1 PCIe MSI/MSIX termination driverdrivers/ drivers/ drivers/ +1 more | +627 | 0 replies | |
| 3/4 | arm64: dts: Add the device tree entry for the APM X-Gene PCIe MSI nodearch/ | +27 | 0 replies | |
| 4/4 | PCI: X-Gene: Add the MAINTAINERS entry for APM X-Gene v1 PCIe MSI driverMAINTAINERS | +8 | 0 replies |
Reviews trailers per patch
All 4 patches have a Reviewed-by or Acked-by of their own; the series has one for all of them.
| Patch | Marc Zyngier |
|---|---|
| Series | R-b |
| 1/4 | R-b |
| 2/4 | R-b |
| 3/4 | R-b |
| 4/4 | R-b |
Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.
Cover letter [PATCH v10 0/4] PCI: X-Gene: Add APM X-Gene v1 MSI/MSIX termination driver
This patch set adds MSI/MSIX termination driver support for APM X-Gene v1 SoC. APM X-Gene v1 SoC supports its own implementation of MSI, which is not compliant to GIC V2M specification for MSI Termination.
There is single MSI block in X-Gene v1 SOC which serves all 5 PCIe ports. This MSI block supports 2048 MSI termination ports coalesced into 16 physical HW IRQ lines and shared across all 5 PCIe ports. Starting from version 5 of this patch series, the total MSI vectors this driver supports is reduced to 256 to maintain the correct set_affinity behavior for each MSI.
v10 changes:
1. Remove inline in helper functions
2. Simplify hwirq_to_cpu implementation
v9 changes:
1. Add more helpers for manipulating MSI messages
2. Improve code readability
3. Make PCI_XGENE_MSI selectable
v8 changes:
1. Add helper to read MSI registers
2. Resample interrupt status of the same group after handling interrupts in that group
3. Error handling in case fail to allocate CPU mask for affinity setting
v7 changes:
1. Add more error handling cases
2. Clear spurious interrupts that may happen during driver probe
3. Not using free_irq for chained irqs
4. Improve GIC IRQ number look up in chained handler
v6 changes:
1. Correctly allocate MSI with bitmap_find_next_zero_area
2. Add notifier for CPU hotplug case
3. Driver clean up
4. Add more detailed information into device tree binding document and move the device tree binding patch before the driver/dts patch
v5 changes:
1. Implement set_affinity for each MSI by statically allocating 2 MSI GIC IRQs for each X-Gene CPU core and moving MSI vectors around these GIC IRQs to steer them to target CPU core. As a consequence, the total MSI vectors that X-Gene v1 supports is reduced to 256.
v4 changes:
1. Remove affinity setting for each MSI
2. Add description about register layout, MSI termination address and data
3. Correct total number of MSI vectors to 2048
4. Clean up error messages
5. Remove unused module code
v3 changes:
1. Implement MSI support using PCI MSI IRQ domain
2. Only use msi_controller to store IRQ domain
v2 changes:
1. Use msi_controller structure
2. Remove arch hooks arch_teardown_msi_irqs and arch_setup_msi_irqs
.../devicetree/bindings/pci/xgene-pci-msi.txt | 68 +++ MAINTAINERS | 8 + arch/arm64/boot/dts/apm/apm-storm.dtsi | 27 + drivers/pci/host/Kconfig | 10 + drivers/pci/host/Makefile | 1 + drivers/pci/host/pci-xgene-msi.c | 595 +++++++++++++++++++++ drivers/pci/host/pci-xgene.c | 21 + 7 files changed, 730 insertions(+) create mode 100644 Documentation/devicetree/bindings/pci/xgene-pci-msi.txt create mode 100644 drivers/pci/host/pci-xgene-msi.c
Signature · 1 line
1.9.1