Skip to content
Permalink
Browse files
NTB: EPF: support NTB transfer between PCI RC and EP connection
Add NTB function driver and virtual PCI BUS and Virtual NTB driver
to implement communication between PCIe RC 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      │
└────────────┘         └───────────────┴──────┴──────────────┘
    PCI RC                        PCI EP

This driver include 3 part:
 1 PCI EP NTB function driver
 2 Virtual PCI bus
 3 PCI virutal NTB driver, which is loaded only by above virtual pci bus

Signed-off-by: Frank Li <Frank.Li@nxp.com>
  • Loading branch information
nxpfrankli authored and intel-lab-lkp committed Feb 15, 2022
1 parent 647af4a commit 84bf6254010435435a8c196e30bb2d25fd22763c
Show file tree
Hide file tree
Showing 3 changed files with 1,437 additions and 0 deletions.
@@ -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 PCI Endpoint. NTB driver implements NTB
between PCI host and PCIe Endpoint.

If in doubt, say "N" to disable Endpoint NTB driver.
@@ -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

0 comments on commit 84bf625

Please sign in to comment.