Commit e35f56bb authored by Frank Li's avatar Frank Li Committed by Jon Mason
Browse files

PCI: endpoint: Support NTB transfer between RC and EP



Add NTB function driver and virtual PCI Bus and Virtual NTB driver
to implement communication between PCIe Root Port and PCIe EP devices

┌────────────┐         ┌─────────────────────────────────────┐
│            │         │                                     │
├────────────┤         │                      ┌──────────────┤
│ NTB        │         │                      │ NTB          │
│ NetDev     │         │                      │ NetDev       │
├────────────┤         │                      ├──────────────┤
│ NTB        │         │                      │ NTB          │
│ Transfer   │         │                      │ Transfer     │
├────────────┤         │                      ├──────────────┤
│            │         │                      │              │
│  PCI NTB   │         │                      │              │
│    EPF     │         │                      │              │
│   Driver   │         │                      │ PCI Virtual  │
│            │         ├───────────────┐      │ NTB Driver   │
│            │         │ PCI EP NTB    │◄────►│              │
│            │         │  FN Driver    │      │              │
├────────────┤         ├───────────────┤      ├──────────────┤
│            │         │               │      │              │
│  PCI Bus   │ ◄─────► │  PCI EP Bus   │      │  Virtual PCI │
│            │  PCI    │               │      │     Bus      │
└────────────┘         └───────────────┴──────┴──────────────┘
PCIe Root Port                        PCI EP

This driver includes 3 parts:
 1 PCI EP NTB function driver
 2 Virtual PCI bus
 3 PCI virtual NTB driver, which is loaded only by above virtual PCI bus

Signed-off-by: default avatarFrank Li <Frank.Li@nxp.com>
Signed-off-by: default avatarJon Mason <jdmason@kudzu.us>
parent e75d5ae8
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -25,3 +25,14 @@ config PCI_EPF_NTB
	  device tree.

	  If in doubt, say "N" to disable Endpoint NTB driver.

config PCI_EPF_VNTB
        tristate "PCI Endpoint NTB driver"
        depends on PCI_ENDPOINT
        select CONFIGFS_FS
        help
          Select this configuration option to enable the Non-Transparent
          Bridge (NTB) driver for PCIe Endpoint. NTB driver implements NTB
          between PCI Root Port and PCIe Endpoint.

          If in doubt, say "N" to disable Endpoint NTB driver.
+1 −0
Original line number Diff line number Diff line
@@ -5,3 +5,4 @@

obj-$(CONFIG_PCI_EPF_TEST)		+= pci-epf-test.o
obj-$(CONFIG_PCI_EPF_NTB)		+= pci-epf-ntb.o
obj-$(CONFIG_PCI_EPF_VNTB) 		+= pci-epf-vntb.o
+1424 −0

File added.

Preview size limit exceeded, changes collapsed.