From: Kishon Vijay Abraham I <kishon@ti.com> To: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>, Arnd Bergmann <arnd@arndb.de>, Jon Mason <jdmason@kudzu.us>, Dave Jiang <dave.jiang@intel.com>, Allen Hubbe <allenbh@gmail.com>, Tom Joseph <tjoseph@cadence.com>, Bjorn Helgaas <bhelgaas@google.com>, Rob Herring <robh+dt@kernel.org> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>, Jonathan Corbet <corbet@lwn.net>, <linux-pci@vger.kernel.org>, <linux-doc@vger.kernel.org>, <linux-kernel@vger.kernel.org>, <devicetree@vger.kernel.org>, <linux-ntb@googlegroups.com>, Kishon Vijay Abraham I <kishon@ti.com> Subject: [PATCH 00/19] Implement NTB Controller using multiple PCI EP Date: Thu, 14 May 2020 20:29:08 +0530 [thread overview] Message-ID: <20200514145927.17555-1-kishon@ti.com> (raw) This series is about implementing SW defined NTB using multiple endpoint instances. This series has been tested using 2 endpoint instances in J7 connected to two DRA7 boards. However there is nothing platform specific for the NTB functionality. This was presented in Linux Plumbers Conference. The presentation can be found @ [1] RFC patch series can be found @ [2] This series has been validated after applying [3] and [4] Changes from RFC: 1) Converted the DT binding patches to YAML schema and merged the DT binding patches together 2) NTB documentation is converted to .rst 3) One HOST can now interrupt the other HOST using MSI-X interrupts 4) Added support for teardown of memory window and doorbell configuration 5) Add support to provide support 64-bit memory window size from DT [1] -> https://www.linuxplumbersconf.org/event/4/contributions/395/attachments/284/481/Implementing_NTB_Controller_Using_PCIe_Endpoint_-_final.pdf [2] -> http://lore.kernel.org/r/20190926112933.8922-1-kishon@ti.com [3] -> http://lore.kernel.org/r/20200508130646.23939-1-kishon@ti.com [4] -> http://lore.kernel.org/r/20200506151429.12255-1-kishon@ti.com Kishon Vijay Abraham I (19): dt-bindings: PCI: Endpoint: Add DT bindings for PCI EPF NTB Device Documentation: PCI: Add specification for the *PCI NTB* function device PCI: endpoint: Add API to get reference to EPC from device-tree PCI: endpoint: Add API to create EPF device from device tree PCI: endpoint: Add "pci-epf-bus" driver PCI: endpoint: Make *_get_first_free_bar() take into account 64 bit BAR PCI: endpoint: Add helper API to get the 'next' unreserved BAR PCI: endpoint: Make *_free_bar() to return error codes on failure PCI: endpoint: Remove unused pci_epf_match_device() PCI: endpoint: Make pci_epf_driver ops optional PCI: endpoint: Add helper API to populate header with values from DT PCI: endpoint: Add support to associate secondary EPC with EPF PCI: endpoint: Add pci_epc_ops to map MSI irq PCI: cadence: Implement ->msi_map_irq() ops PCI: endpoint: Add EP function driver to provide NTB functionality PCI: Add TI J721E device to pci ids NTB: Add support for EPF PCI-Express Non-Transparent Bridge NTB: tool: Enable the NTB/PCIe link on the local or remote side of bridge NTB: ntb_perf/ntb_tool: Use PCI device for dma_alloc_coherent() Documentation/PCI/endpoint/index.rst | 1 + Documentation/PCI/endpoint/pci-test-ntb.rst | 344 +++ .../bindings/pci/endpoint/pci-epf-bus.yaml | 42 + .../bindings/pci/endpoint/pci-epf-device.yaml | 69 + .../bindings/pci/endpoint/pci-epf-ntb.yaml | 68 + drivers/misc/pci_endpoint_test.c | 1 - drivers/ntb/hw/Kconfig | 1 + drivers/ntb/hw/Makefile | 1 + drivers/ntb/hw/epf/Kconfig | 5 + drivers/ntb/hw/epf/Makefile | 1 + drivers/ntb/hw/epf/ntb_hw_epf.c | 752 ++++++ drivers/ntb/test/ntb_perf.c | 3 +- drivers/ntb/test/ntb_tool.c | 4 +- .../pci/controller/cadence/pcie-cadence-ep.c | 50 + drivers/pci/endpoint/Makefile | 3 +- drivers/pci/endpoint/functions/Kconfig | 12 + drivers/pci/endpoint/functions/Makefile | 1 + drivers/pci/endpoint/functions/pci-epf-ntb.c | 2038 +++++++++++++++++ drivers/pci/endpoint/functions/pci-epf-test.c | 13 +- drivers/pci/endpoint/pci-ep-cfs.c | 6 +- drivers/pci/endpoint/pci-epc-core.c | 216 +- drivers/pci/endpoint/pci-epf-bus.c | 54 + drivers/pci/endpoint/pci-epf-core.c | 137 +- include/linux/pci-epc.h | 43 +- include/linux/pci-epf.h | 26 +- include/linux/pci_ids.h | 1 + 26 files changed, 3823 insertions(+), 69 deletions(-) create mode 100644 Documentation/PCI/endpoint/pci-test-ntb.rst create mode 100644 Documentation/devicetree/bindings/pci/endpoint/pci-epf-bus.yaml create mode 100644 Documentation/devicetree/bindings/pci/endpoint/pci-epf-device.yaml create mode 100644 Documentation/devicetree/bindings/pci/endpoint/pci-epf-ntb.yaml create mode 100644 drivers/ntb/hw/epf/Kconfig create mode 100644 drivers/ntb/hw/epf/Makefile create mode 100644 drivers/ntb/hw/epf/ntb_hw_epf.c create mode 100644 drivers/pci/endpoint/functions/pci-epf-ntb.c create mode 100644 drivers/pci/endpoint/pci-epf-bus.c -- 2.17.1
WARNING: multiple messages have this Message-ID (diff)
From: Kishon Vijay Abraham I <kishon@ti.com> To: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>, Arnd Bergmann <arnd@arndb.de>, Jon Mason <jdmason@kudzu.us>, Dave Jiang <dave.jiang@intel.com>, Allen Hubbe <allenbh@gmail.com>, Tom Joseph <tjoseph@cadence.com>, Bjorn Helgaas <bhelgaas@google.com>, Rob Herring <robh+dt@kernel.org> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>, Jonathan Corbet <corbet@lwn.net>, linux-pci@vger.kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-ntb@googlegroups.com, Kishon Vijay Abraham I <kishon@ti.com> Subject: [PATCH 00/19] Implement NTB Controller using multiple PCI EP Date: Thu, 14 May 2020 20:29:08 +0530 [thread overview] Message-ID: <20200514145927.17555-1-kishon@ti.com> (raw) This series is about implementing SW defined NTB using multiple endpoint instances. This series has been tested using 2 endpoint instances in J7 connected to two DRA7 boards. However there is nothing platform specific for the NTB functionality. This was presented in Linux Plumbers Conference. The presentation can be found @ [1] RFC patch series can be found @ [2] This series has been validated after applying [3] and [4] Changes from RFC: 1) Converted the DT binding patches to YAML schema and merged the DT binding patches together 2) NTB documentation is converted to .rst 3) One HOST can now interrupt the other HOST using MSI-X interrupts 4) Added support for teardown of memory window and doorbell configuration 5) Add support to provide support 64-bit memory window size from DT [1] -> https://www.linuxplumbersconf.org/event/4/contributions/395/attachments/284/481/Implementing_NTB_Controller_Using_PCIe_Endpoint_-_final.pdf [2] -> http://lore.kernel.org/r/20190926112933.8922-1-kishon@ti.com [3] -> http://lore.kernel.org/r/20200508130646.23939-1-kishon@ti.com [4] -> http://lore.kernel.org/r/20200506151429.12255-1-kishon@ti.com Kishon Vijay Abraham I (19): dt-bindings: PCI: Endpoint: Add DT bindings for PCI EPF NTB Device Documentation: PCI: Add specification for the *PCI NTB* function device PCI: endpoint: Add API to get reference to EPC from device-tree PCI: endpoint: Add API to create EPF device from device tree PCI: endpoint: Add "pci-epf-bus" driver PCI: endpoint: Make *_get_first_free_bar() take into account 64 bit BAR PCI: endpoint: Add helper API to get the 'next' unreserved BAR PCI: endpoint: Make *_free_bar() to return error codes on failure PCI: endpoint: Remove unused pci_epf_match_device() PCI: endpoint: Make pci_epf_driver ops optional PCI: endpoint: Add helper API to populate header with values from DT PCI: endpoint: Add support to associate secondary EPC with EPF PCI: endpoint: Add pci_epc_ops to map MSI irq PCI: cadence: Implement ->msi_map_irq() ops PCI: endpoint: Add EP function driver to provide NTB functionality PCI: Add TI J721E device to pci ids NTB: Add support for EPF PCI-Express Non-Transparent Bridge NTB: tool: Enable the NTB/PCIe link on the local or remote side of bridge NTB: ntb_perf/ntb_tool: Use PCI device for dma_alloc_coherent() Documentation/PCI/endpoint/index.rst | 1 + Documentation/PCI/endpoint/pci-test-ntb.rst | 344 +++ .../bindings/pci/endpoint/pci-epf-bus.yaml | 42 + .../bindings/pci/endpoint/pci-epf-device.yaml | 69 + .../bindings/pci/endpoint/pci-epf-ntb.yaml | 68 + drivers/misc/pci_endpoint_test.c | 1 - drivers/ntb/hw/Kconfig | 1 + drivers/ntb/hw/Makefile | 1 + drivers/ntb/hw/epf/Kconfig | 5 + drivers/ntb/hw/epf/Makefile | 1 + drivers/ntb/hw/epf/ntb_hw_epf.c | 752 ++++++ drivers/ntb/test/ntb_perf.c | 3 +- drivers/ntb/test/ntb_tool.c | 4 +- .../pci/controller/cadence/pcie-cadence-ep.c | 50 + drivers/pci/endpoint/Makefile | 3 +- drivers/pci/endpoint/functions/Kconfig | 12 + drivers/pci/endpoint/functions/Makefile | 1 + drivers/pci/endpoint/functions/pci-epf-ntb.c | 2038 +++++++++++++++++ drivers/pci/endpoint/functions/pci-epf-test.c | 13 +- drivers/pci/endpoint/pci-ep-cfs.c | 6 +- drivers/pci/endpoint/pci-epc-core.c | 216 +- drivers/pci/endpoint/pci-epf-bus.c | 54 + drivers/pci/endpoint/pci-epf-core.c | 137 +- include/linux/pci-epc.h | 43 +- include/linux/pci-epf.h | 26 +- include/linux/pci_ids.h | 1 + 26 files changed, 3823 insertions(+), 69 deletions(-) create mode 100644 Documentation/PCI/endpoint/pci-test-ntb.rst create mode 100644 Documentation/devicetree/bindings/pci/endpoint/pci-epf-bus.yaml create mode 100644 Documentation/devicetree/bindings/pci/endpoint/pci-epf-device.yaml create mode 100644 Documentation/devicetree/bindings/pci/endpoint/pci-epf-ntb.yaml create mode 100644 drivers/ntb/hw/epf/Kconfig create mode 100644 drivers/ntb/hw/epf/Makefile create mode 100644 drivers/ntb/hw/epf/ntb_hw_epf.c create mode 100644 drivers/pci/endpoint/functions/pci-epf-ntb.c create mode 100644 drivers/pci/endpoint/pci-epf-bus.c -- 2.17.1
next reply other threads:[~2020-05-14 15:00 UTC|newest] Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-05-14 14:59 Kishon Vijay Abraham I [this message] 2020-05-14 14:59 ` [PATCH 00/19] Implement NTB Controller using multiple PCI EP Kishon Vijay Abraham I 2020-05-14 14:59 ` [PATCH 01/19] dt-bindings: PCI: Endpoint: Add DT bindings for PCI EPF NTB Device Kishon Vijay Abraham I 2020-05-14 14:59 ` Kishon Vijay Abraham I 2020-05-15 2:38 ` Rob Herring 2020-05-22 5:53 ` Kishon Vijay Abraham I 2020-05-22 5:53 ` Kishon Vijay Abraham I 2020-05-14 14:59 ` [PATCH 02/19] Documentation: PCI: Add specification for the *PCI NTB* function device Kishon Vijay Abraham I 2020-05-14 14:59 ` Kishon Vijay Abraham I 2020-05-14 14:59 ` [PATCH 03/19] PCI: endpoint: Add API to get reference to EPC from device-tree Kishon Vijay Abraham I 2020-05-14 14:59 ` Kishon Vijay Abraham I 2020-05-14 14:59 ` [PATCH 04/19] PCI: endpoint: Add API to create EPF device from device tree Kishon Vijay Abraham I 2020-05-14 14:59 ` Kishon Vijay Abraham I 2020-05-14 14:59 ` [PATCH 05/19] PCI: endpoint: Add "pci-epf-bus" driver Kishon Vijay Abraham I 2020-05-14 14:59 ` Kishon Vijay Abraham I 2020-05-14 14:59 ` [PATCH 06/19] PCI: endpoint: Make *_get_first_free_bar() take into account 64 bit BAR Kishon Vijay Abraham I 2020-05-14 14:59 ` Kishon Vijay Abraham I 2020-05-14 14:59 ` [PATCH 07/19] PCI: endpoint: Add helper API to get the 'next' unreserved BAR Kishon Vijay Abraham I 2020-05-14 14:59 ` Kishon Vijay Abraham I 2020-05-14 14:59 ` [PATCH 08/19] PCI: endpoint: Make *_free_bar() to return error codes on failure Kishon Vijay Abraham I 2020-05-14 14:59 ` Kishon Vijay Abraham I 2020-05-14 14:59 ` [PATCH 09/19] PCI: endpoint: Remove unused pci_epf_match_device() Kishon Vijay Abraham I 2020-05-14 14:59 ` Kishon Vijay Abraham I 2020-05-14 14:59 ` [PATCH 10/19] PCI: endpoint: Make pci_epf_driver ops optional Kishon Vijay Abraham I 2020-05-14 14:59 ` Kishon Vijay Abraham I 2020-05-14 14:59 ` [PATCH 11/19] PCI: endpoint: Add helper API to populate header with values from DT Kishon Vijay Abraham I 2020-05-14 14:59 ` Kishon Vijay Abraham I 2020-05-14 14:59 ` [PATCH 12/19] PCI: endpoint: Add support to associate secondary EPC with EPF Kishon Vijay Abraham I 2020-05-14 14:59 ` Kishon Vijay Abraham I 2020-05-14 14:59 ` [PATCH 13/19] PCI: endpoint: Add pci_epc_ops to map MSI irq Kishon Vijay Abraham I 2020-05-14 14:59 ` Kishon Vijay Abraham I 2020-05-14 14:59 ` [PATCH 14/19] PCI: cadence: Implement ->msi_map_irq() ops Kishon Vijay Abraham I 2020-05-14 14:59 ` Kishon Vijay Abraham I 2020-05-14 14:59 ` [PATCH 15/19] PCI: endpoint: Add EP function driver to provide NTB functionality Kishon Vijay Abraham I 2020-05-14 14:59 ` Kishon Vijay Abraham I 2020-05-14 14:59 ` [PATCH 16/19] PCI: Add TI J721E device to pci ids Kishon Vijay Abraham I 2020-05-14 14:59 ` Kishon Vijay Abraham I 2020-05-14 14:59 ` [PATCH 17/19] NTB: Add support for EPF PCI-Express Non-Transparent Bridge Kishon Vijay Abraham I 2020-05-14 14:59 ` Kishon Vijay Abraham I 2020-05-14 14:59 ` [PATCH 18/19] NTB: tool: Enable the NTB/PCIe link on the local or remote side of bridge Kishon Vijay Abraham I 2020-05-14 14:59 ` Kishon Vijay Abraham I 2020-05-14 14:59 ` [PATCH 19/19] NTB: ntb_perf/ntb_tool: Use PCI device for dma_alloc_coherent() Kishon Vijay Abraham I 2020-05-14 14:59 ` Kishon Vijay Abraham I 2020-05-22 16:11 ` [PATCH 00/19] Implement NTB Controller using multiple PCI EP Rob Herring 2020-05-23 1:47 ` Kishon Vijay Abraham I 2020-05-23 1:47 ` Kishon Vijay Abraham I
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=20200514145927.17555-1-kishon@ti.com \ --to=kishon@ti.com \ --cc=allenbh@gmail.com \ --cc=arnd@arndb.de \ --cc=bhelgaas@google.com \ --cc=corbet@lwn.net \ --cc=dave.jiang@intel.com \ --cc=devicetree@vger.kernel.org \ --cc=gregkh@linuxfoundation.org \ --cc=jdmason@kudzu.us \ --cc=linux-doc@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-ntb@googlegroups.com \ --cc=linux-pci@vger.kernel.org \ --cc=lorenzo.pieralisi@arm.com \ --cc=robh+dt@kernel.org \ --cc=tjoseph@cadence.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.