Skip to content

Commit e35f56b

Browse files
nxpfranklijonmason
authored andcommitted
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: Frank Li <[email protected]> Signed-off-by: Jon Mason <[email protected]>
1 parent e75d5ae commit e35f56b

File tree

3 files changed

+1436
-0
lines changed

3 files changed

+1436
-0
lines changed

drivers/pci/endpoint/functions/Kconfig

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,3 +25,14 @@ config PCI_EPF_NTB
2525
device tree.
2626

2727
If in doubt, say "N" to disable Endpoint NTB driver.
28+
29+
config PCI_EPF_VNTB
30+
tristate "PCI Endpoint NTB driver"
31+
depends on PCI_ENDPOINT
32+
select CONFIGFS_FS
33+
help
34+
Select this configuration option to enable the Non-Transparent
35+
Bridge (NTB) driver for PCIe Endpoint. NTB driver implements NTB
36+
between PCI Root Port and PCIe Endpoint.
37+
38+
If in doubt, say "N" to disable Endpoint NTB driver.

drivers/pci/endpoint/functions/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,4 @@
55

66
obj-$(CONFIG_PCI_EPF_TEST) += pci-epf-test.o
77
obj-$(CONFIG_PCI_EPF_NTB) += pci-epf-ntb.o
8+
obj-$(CONFIG_PCI_EPF_VNTB) += pci-epf-vntb.o

0 commit comments

Comments
 (0)