From: Duc Dang <dhdang@apm.com> To: Bjorn Helgaas <bhelgaas@google.com>, Arnd Bergmann <arnd@arndb.de>, Grant Likely <grant.likely@linaro.org>, Liviu Dudau <Liviu.Dudau@arm.com>, Marc Zyngier <marc.zyngier@arm.com> Cc: linux-pci@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Tanmay Inamdar <tinamdar@apm.com>, Loc Ho <lho@apm.com>, Feng Kan <fkan@apm.com>, Duc Dang <dhdang@apm.com> Subject: [PATCH v5 0/4]PCI: X-Gene: Add APM X-Gene v1 MSI/MSIX termination driver Date: Mon, 20 Apr 2015 21:04:20 -0700 [thread overview] Message-ID: <cover.1429586144.git.dhdang@apm.com> (raw) In-Reply-To: <55310050.7000003@arm.com> 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. As the version 5 of this patch, the total MSI vectors this driver supports is reduced to 256 to maintain the correct set_affinity behavior for each MSI. 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 | 63 +++ MAINTAINERS | 8 + arch/arm64/boot/dts/apm/apm-storm.dtsi | 27 ++ drivers/pci/host/Kconfig | 6 + drivers/pci/host/Makefile | 1 + drivers/pci/host/pci-xgene-msi.c | 477 +++++++++++++++++++++ drivers/pci/host/pci-xgene.c | 21 + 7 files changed, 603 insertions(+) create mode 100644 Documentation/devicetree/bindings/pci/xgene-pci-msi.txt create mode 100644 drivers/pci/host/pci-xgene-msi.c -- 1.9.1
WARNING: multiple messages have this Message-ID (diff)
From: dhdang@apm.com (Duc Dang) To: linux-arm-kernel@lists.infradead.org Subject: [PATCH v5 0/4]PCI: X-Gene: Add APM X-Gene v1 MSI/MSIX termination driver Date: Mon, 20 Apr 2015 21:04:20 -0700 [thread overview] Message-ID: <cover.1429586144.git.dhdang@apm.com> (raw) In-Reply-To: <55310050.7000003@arm.com> 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. As the version 5 of this patch, the total MSI vectors this driver supports is reduced to 256 to maintain the correct set_affinity behavior for each MSI. 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 | 63 +++ MAINTAINERS | 8 + arch/arm64/boot/dts/apm/apm-storm.dtsi | 27 ++ drivers/pci/host/Kconfig | 6 + drivers/pci/host/Makefile | 1 + drivers/pci/host/pci-xgene-msi.c | 477 +++++++++++++++++++++ drivers/pci/host/pci-xgene.c | 21 + 7 files changed, 603 insertions(+) create mode 100644 Documentation/devicetree/bindings/pci/xgene-pci-msi.txt create mode 100644 drivers/pci/host/pci-xgene-msi.c -- 1.9.1
next prev parent reply other threads:[~2015-04-21 4:05 UTC|newest] Thread overview: 230+ messages / expand[flat|nested] mbox.gz Atom feed top 2015-01-06 16:15 [PATCH 0/4] PCI: X-Gene: Add APM X-Gene v1 MSI/MSIX termination driver Duc Dang 2015-01-06 16:15 ` Duc Dang 2015-01-06 16:15 ` [PATCH 1/4] PCI: X-Gene: Add the APM X-Gene v1 PCIe " Duc Dang 2015-01-06 16:15 ` Duc Dang 2015-01-06 19:33 ` Arnd Bergmann 2015-01-06 19:33 ` Arnd Bergmann 2015-01-12 18:53 ` Duc Dang 2015-01-12 18:53 ` Duc Dang 2015-01-12 19:44 ` Arnd Bergmann 2015-01-12 19:44 ` Arnd Bergmann 2015-03-04 19:39 ` [PATCH v2 0/4] PCI: X-Gene: Add APM X-Gene v1 " Duc Dang 2015-03-04 19:39 ` Duc Dang 2015-03-18 17:43 ` Duc Dang 2015-03-18 17:43 ` Duc Dang 2015-03-19 20:49 ` Bjorn Helgaas 2015-03-19 20:49 ` Bjorn Helgaas 2015-03-19 20:59 ` Duc Dang 2015-03-19 20:59 ` Duc Dang 2015-03-19 21:08 ` Bjorn Helgaas 2015-03-19 21:08 ` Bjorn Helgaas 2015-03-04 19:39 ` [PATCH v2 1/4] PCI: X-Gene: Add the APM X-Gene v1 PCIe " Duc Dang 2015-03-04 19:39 ` Duc Dang 2015-03-18 18:05 ` Marc Zyngier 2015-03-18 18:05 ` Marc Zyngier 2015-03-18 18:29 ` Duc Dang 2015-03-18 18:29 ` Duc Dang 2015-03-18 18:52 ` Marc Zyngier 2015-03-18 18:52 ` Marc Zyngier 2015-04-07 19:56 ` Duc Dang 2015-04-07 19:56 ` Duc Dang 2015-04-08 7:44 ` Marc Zyngier 2015-04-08 7:44 ` Marc Zyngier 2015-04-09 17:05 ` [PATCH v3 0/4] PCI: X-Gene: Add APM X-Gene v1 " Duc Dang 2015-04-09 17:05 ` Duc Dang 2015-04-09 17:05 ` [PATCH v3 1/4] PCI: X-Gene: Add the APM X-Gene v1 PCIe " Duc Dang 2015-04-09 17:05 ` Duc Dang 2015-04-09 20:11 ` Bjorn Helgaas 2015-04-09 20:11 ` Bjorn Helgaas 2015-04-09 21:52 ` Duc Dang 2015-04-09 21:52 ` Duc Dang 2015-04-09 22:39 ` Bjorn Helgaas 2015-04-09 22:39 ` Bjorn Helgaas 2015-04-09 23:26 ` Duc Dang 2015-04-09 23:26 ` Duc Dang 2015-04-10 17:20 ` Marc Zyngier 2015-04-10 17:20 ` Marc Zyngier 2015-04-10 17:20 ` Marc Zyngier 2015-04-10 23:42 ` Duc Dang 2015-04-10 23:42 ` Duc Dang 2015-04-10 23:42 ` Duc Dang 2015-04-11 12:06 ` Marc Zyngier 2015-04-11 12:06 ` Marc Zyngier 2015-04-14 18:20 ` Duc Dang 2015-04-14 18:20 ` Duc Dang 2015-04-15 8:16 ` Marc Zyngier 2015-04-15 8:16 ` Marc Zyngier 2015-04-17 9:50 ` [PATCH v4 0/4] PCI: X-Gene: Add APM X-Gene v1 " Duc Dang 2015-04-17 9:50 ` Duc Dang 2015-04-17 9:50 ` [PATCH v4 1/4] PCI: X-Gene: Add the APM X-Gene v1 PCIe " Duc Dang 2015-04-17 9:50 ` Duc Dang 2015-04-17 14:10 ` Arnd Bergmann 2015-04-17 14:10 ` Arnd Bergmann 2015-04-19 18:40 ` Duc Dang 2015-04-19 18:40 ` Duc Dang 2015-04-19 19:55 ` Arnd Bergmann 2015-04-19 19:55 ` Arnd Bergmann 2015-04-20 18:49 ` Feng Kan 2015-04-20 18:49 ` Feng Kan 2015-04-20 18:49 ` Feng Kan 2015-04-21 7:16 ` Arnd Bergmann 2015-04-21 7:16 ` Arnd Bergmann 2015-04-17 9:50 ` [PATCH v4 2/4] arm64: dts: Add the device tree entry for the APM X-Gene PCIe MSI node Duc Dang 2015-04-17 9:50 ` Duc Dang 2015-04-17 9:50 ` [PATCH v4 3/4] documentation: dts: Add the device tree binding for APM X-Gene v1 PCIe MSI device tree node Duc Dang 2015-04-17 9:50 ` Duc Dang 2015-04-17 9:50 ` [PATCH v4 4/4] PCI: X-Gene: Add the MAINTAINERS entry for APM X-Gene v1 PCIe MSI driver Duc Dang 2015-04-17 9:50 ` Duc Dang 2015-04-17 10:00 ` [PATCH v3 1/4] PCI: X-Gene: Add the APM X-Gene v1 PCIe MSI/MSIX termination driver Duc Dang 2015-04-17 10:00 ` Duc Dang 2015-04-17 10:17 ` Marc Zyngier 2015-04-17 10:17 ` Marc Zyngier 2015-04-17 12:37 ` Duc Dang 2015-04-17 12:37 ` Duc Dang 2015-04-17 12:45 ` Marc Zyngier 2015-04-17 12:45 ` Marc Zyngier 2015-04-20 18:51 ` Feng Kan 2015-04-20 18:51 ` Feng Kan 2015-04-21 8:32 ` Marc Zyngier 2015-04-21 8:32 ` Marc Zyngier 2015-04-21 4:04 ` Duc Dang [this message] 2015-04-21 4:04 ` [PATCH v5 0/4]PCI: X-Gene: Add APM X-Gene v1 " Duc Dang 2015-04-22 3:02 ` Jon Masters 2015-04-22 3:02 ` Jon Masters 2015-04-22 3:02 ` Jon Masters 2015-04-22 3:02 ` Jon Masters 2015-04-21 4:04 ` [PATCH v5 1/4] PCI: X-Gene: Add the APM X-Gene v1 PCIe " Duc Dang 2015-04-21 4:04 ` Duc Dang 2015-04-21 15:08 ` Marc Zyngier 2015-04-21 15:08 ` Marc Zyngier 2015-04-21 15:08 ` Marc Zyngier 2015-04-22 6:15 ` [PATCH v6 0/4]PCI: X-Gene: Add APM X-Gene v1 " Duc Dang 2015-04-22 6:15 ` Duc Dang 2015-04-22 6:15 ` [PATCH v6 1/4] documentation: dts: Add the device tree binding for APM X-Gene v1 PCIe MSI device tree node Duc Dang 2015-04-22 6:15 ` Duc Dang 2015-04-22 6:15 ` [PATCH v6 2/4] PCI: X-Gene: Add the APM X-Gene v1 PCIe MSI/MSIX termination driver Duc Dang 2015-04-22 6:15 ` Duc Dang 2015-04-22 12:50 ` Marc Zyngier 2015-04-22 12:50 ` Marc Zyngier 2015-04-22 12:50 ` Marc Zyngier 2015-05-18 9:55 ` [PATCH v7 0/4] PCI: X-Gene: Add APM X-Gene v1 " Duc Dang 2015-05-18 9:55 ` Duc Dang 2015-05-18 9:55 ` [PATCH v7 1/4] documentation: dts: Add the device tree binding for APM X-Gene v1 PCIe MSI device tree node Duc Dang 2015-05-18 9:55 ` Duc Dang 2015-05-18 9:55 ` [PATCH v7 2/4] PCI: X-Gene: Add the APM X-Gene v1 PCIe MSI/MSIX termination driver Duc Dang 2015-05-18 9:55 ` Duc Dang 2015-05-20 9:16 ` Marc Zyngier 2015-05-20 9:16 ` Marc Zyngier 2015-05-20 9:16 ` Marc Zyngier 2015-05-22 18:41 ` [PATCH v8 0/4] PCI: X-Gene: Add APM X-Gene v1 " Duc Dang 2015-05-22 18:41 ` Duc Dang 2015-05-22 18:41 ` [PATCH v8 1/4] documentation: dts: Add the device tree binding for APM X-Gene v1 PCIe MSI device tree node Duc Dang 2015-05-22 18:41 ` Duc Dang 2015-05-22 18:41 ` [PATCH v8 2/4] PCI: X-Gene: Add the APM X-Gene v1 PCIe MSI/MSIX termination driver Duc Dang 2015-05-22 18:41 ` Duc Dang 2015-05-25 11:52 ` Marc Zyngier 2015-05-25 11:52 ` Marc Zyngier 2015-05-25 11:52 ` Marc Zyngier 2015-05-27 18:27 ` [PATCH v9 0/4]PCI: X-Gene: Add APM X-Gene v1 " Duc Dang 2015-05-27 18:27 ` Duc Dang 2015-05-27 18:27 ` [PATCH v9 1/4] documentation: dts: Add the device tree binding for APM X-Gene v1 PCIe MSI device tree node Duc Dang 2015-05-27 18:27 ` Duc Dang 2015-05-27 18:27 ` [PATCH v9 2/4] PCI: X-Gene: Add the APM X-Gene v1 PCIe MSI/MSIX termination driver Duc Dang 2015-05-27 18:27 ` Duc Dang 2015-05-28 8:05 ` Marc Zyngier 2015-05-28 8:05 ` Marc Zyngier 2015-05-28 8:05 ` Marc Zyngier 2015-05-28 17:16 ` Duc Dang 2015-05-28 17:16 ` Duc Dang 2015-05-28 17:16 ` Duc Dang 2015-05-29 18:24 ` [PATCH v10 0/4] PCI: X-Gene: Add APM X-Gene v1 " Duc Dang 2015-05-29 18:24 ` Duc Dang 2015-06-05 21:05 ` Bjorn Helgaas 2015-06-05 21:05 ` Bjorn Helgaas 2015-06-05 21:11 ` Duc Dang 2015-06-05 21:11 ` Duc Dang 2015-05-29 18:24 ` [PATCH v10 1/4] documentation: dts: Add the device tree binding for APM X-Gene v1 PCIe MSI device tree node Duc Dang 2015-05-29 18:24 ` Duc Dang 2015-05-29 18:24 ` [PATCH v10 2/4] PCI: X-Gene: Add the APM X-Gene v1 PCIe MSI/MSIX termination driver Duc Dang 2015-05-29 18:24 ` Duc Dang 2015-05-29 18:24 ` [PATCH v10 3/4] arm64: dts: Add the device tree entry for the APM X-Gene PCIe MSI node Duc Dang 2015-05-29 18:24 ` Duc Dang 2015-05-29 18:24 ` [PATCH v10 4/4] PCI: X-Gene: Add the MAINTAINERS entry for APM X-Gene v1 PCIe MSI driver Duc Dang 2015-05-29 18:24 ` Duc Dang 2015-05-27 18:27 ` [PATCH v9 3/4] arm64: dts: Add the device tree entry for the APM X-Gene PCIe MSI node Duc Dang 2015-05-27 18:27 ` Duc Dang 2015-05-27 18:27 ` [PATCH v9 4/4] PCI: X-Gene: Add the MAINTAINERS entry for APM X-Gene v1 PCIe MSI driver Duc Dang 2015-05-27 18:27 ` Duc Dang 2015-05-27 18:31 ` [PATCH v8 2/4] PCI: X-Gene: Add the APM X-Gene v1 PCIe MSI/MSIX termination driver Duc Dang 2015-05-27 18:31 ` Duc Dang 2015-05-27 18:31 ` Duc Dang 2015-05-22 18:41 ` [PATCH v8 3/4] arm64: dts: Add the device tree entry for the APM X-Gene PCIe MSI node Duc Dang 2015-05-22 18:41 ` Duc Dang 2015-05-22 18:41 ` [PATCH v8 4/4] PCI: X-Gene: Add the MAINTAINERS entry for APM X-Gene v1 PCIe MSI driver Duc Dang 2015-05-22 18:41 ` Duc Dang 2015-05-22 18:43 ` [PATCH v7 2/4] PCI: X-Gene: Add the APM X-Gene v1 PCIe MSI/MSIX termination driver Duc Dang 2015-05-22 18:43 ` Duc Dang 2015-05-22 18:43 ` Duc Dang 2015-05-18 9:55 ` [PATCH v7 3/4] arm64: dts: Add the device tree entry for the APM X-Gene PCIe MSI node Duc Dang 2015-05-18 9:55 ` Duc Dang 2015-05-18 9:55 ` [PATCH v7 4/4] PCI: X-Gene: Add the MAINTAINERS entry for APM X-Gene v1 PCIe MSI driver Duc Dang 2015-05-18 9:55 ` Duc Dang 2015-05-18 10:12 ` [PATCH v6 2/4] PCI: X-Gene: Add the APM X-Gene v1 PCIe MSI/MSIX termination driver Duc Dang 2015-05-18 10:12 ` Duc Dang 2015-05-18 10:12 ` Duc Dang 2015-04-22 6:15 ` [PATCH v6 3/4] arm64: dts: Add the device tree entry for the APM X-Gene PCIe MSI node Duc Dang 2015-04-22 6:15 ` Duc Dang 2015-04-22 6:15 ` [PATCH v6 4/4] PCI: X-Gene: Add the MAINTAINERS entry for APM X-Gene v1 PCIe MSI driver Duc Dang 2015-04-22 6:15 ` Duc Dang 2015-04-21 4:04 ` [PATCH v5 2/4] arm64: dts: Add the device tree entry for the APM X-Gene PCIe MSI node Duc Dang 2015-04-21 4:04 ` Duc Dang 2015-04-21 15:19 ` Marc Zyngier 2015-04-21 15:19 ` Marc Zyngier 2015-04-21 15:19 ` Marc Zyngier 2015-04-21 18:01 ` Duc Dang 2015-04-21 18:01 ` Duc Dang 2015-04-21 18:01 ` Duc Dang 2015-04-21 4:04 ` [PATCH v5 3/4] documentation: dts: Add the device tree binding for APM X-Gene v1 PCIe MSI device tree node Duc Dang 2015-04-21 4:04 ` Duc Dang 2015-04-21 15:42 ` Mark Rutland 2015-04-21 15:42 ` Mark Rutland 2015-04-21 15:42 ` Mark Rutland 2015-04-21 17:37 ` Duc Dang 2015-04-21 17:37 ` Duc Dang 2015-04-21 17:37 ` Duc Dang 2015-04-21 4:04 ` [PATCH v5 4/4] PCI: X-Gene: Add the MAINTAINERS entry for APM X-Gene v1 PCIe MSI driver Duc Dang 2015-04-21 4:04 ` Duc Dang 2015-04-11 0:16 ` [PATCH v3 1/4] PCI: X-Gene: Add the APM X-Gene v1 PCIe MSI/MSIX termination driver Feng Kan 2015-04-11 0:16 ` Feng Kan 2015-04-11 0:16 ` Feng Kan 2015-04-11 12:18 ` Marc Zyngier 2015-04-11 12:18 ` Marc Zyngier 2015-04-11 14:50 ` Arnd Bergmann 2015-04-11 14:50 ` Arnd Bergmann 2015-04-11 14:50 ` Arnd Bergmann 2015-04-10 18:13 ` Paul Bolle 2015-04-10 18:13 ` Paul Bolle 2015-04-10 23:55 ` Duc Dang 2015-04-10 23:55 ` Duc Dang 2015-04-09 17:05 ` [PATCH v3 2/4] arm64: dts: Add the device tree entry for the APM X-Gene PCIe MSI node Duc Dang 2015-04-09 17:05 ` Duc Dang 2015-04-09 17:05 ` [PATCH v3 3/4] documentation: dts: Add the device tree binding for APM X-Gene v1 PCIe MSI device tree node Duc Dang 2015-04-09 17:05 ` Duc Dang 2015-04-09 17:05 ` [PATCH v3 4/4] PCI: X-Gene: Add the MAINTAINERS entry for APM X-Gene v1 PCIe MSI driver Duc Dang 2015-04-09 17:05 ` Duc Dang 2015-04-09 17:20 ` [PATCH v2 1/4] PCI: X-Gene: Add the APM X-Gene v1 PCIe MSI/MSIX termination driver Duc Dang 2015-04-09 17:20 ` Duc Dang 2015-03-04 19:39 ` [PATCH v2 2/4] arm64: dts: Add the device tree entry for the APM X-Gene PCIe MSI node Duc Dang 2015-03-04 19:39 ` Duc Dang 2015-03-04 19:39 ` [PATCH v2 3/4] documentation: dts: Add the device tree binding for APM X-Gene v1 PCIe MSI device tree node Duc Dang 2015-03-04 19:39 ` Duc Dang 2015-03-04 19:40 ` [PATCH v2 4/4] PCI: X-Gene: Add the MAINTAINERS entry for APM X-Gene v1 PCIe MSI driver Duc Dang 2015-03-04 19:40 ` Duc Dang 2015-01-06 16:15 ` [PATCH 2/4] arm64: dts: Add the device tree entry for the APM X-Gene PCIe MSI node Duc Dang 2015-01-06 16:15 ` Duc Dang 2015-01-06 16:15 ` [PATCH 3/4] documentation: dts: Add the device tree binding for APM X-Gene v1 PCIe MSI device tree node Duc Dang 2015-01-06 16:15 ` Duc Dang 2015-01-06 19:34 ` Arnd Bergmann 2015-01-06 19:34 ` Arnd Bergmann 2015-01-06 16:15 ` [PATCH 4/4] PCI: X-Gene: Add the MAINTAINERS entry for APM X-Gene v1 PCIe MSI driver Duc Dang 2015-01-06 16:15 ` Duc Dang
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=cover.1429586144.git.dhdang@apm.com \ --to=dhdang@apm.com \ --cc=Liviu.Dudau@arm.com \ --cc=arnd@arndb.de \ --cc=bhelgaas@google.com \ --cc=fkan@apm.com \ --cc=grant.likely@linaro.org \ --cc=lho@apm.com \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-pci@vger.kernel.org \ --cc=marc.zyngier@arm.com \ --cc=tinamdar@apm.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.