File Index
Files and directories
Sign in
FILE

pci-vntb-function.rst

File preview with syntax highlighting.

linux-6.19.14/Documentation/PCI/endpoint/pci-vntb-function.rst RESTRUCTUREDTEXT
  1.. SPDX-License-Identifier: GPL-2.0
  2
  3=================
  4PCI vNTB Function
  5=================
  6
  7:Author: Frank Li <Frank.Li@nxp.com>
  8
  9The difference between PCI NTB function and PCI vNTB function is
 10
 11PCI NTB function need at two endpoint instances and connect HOST1
 12and HOST2.
 13
 14PCI vNTB function only use one host and one endpoint(EP), use NTB
 15connect EP and PCI host
 16
 17.. code-block:: text
 18
 19
 20  +------------+         +---------------------------------------+
 21  |            |         |                                       |
 22  +------------+         |                        +--------------+
 23  | NTB        |         |                        | NTB          |
 24  | NetDev     |         |                        | NetDev       |
 25  +------------+         |                        +--------------+
 26  | NTB        |         |                        | NTB          |
 27  | Transfer   |         |                        | Transfer     |
 28  +------------+         |                        +--------------+
 29  |            |         |                        |              |
 30  |  PCI NTB   |         |                        |              |
 31  |    EPF     |         |                        |              |
 32  |   Driver   |         |                        | PCI Virtual  |
 33  |            |         +---------------+        | NTB Driver   |
 34  |            |         | PCI EP NTB    |<------>|              |
 35  |            |         |  FN Driver    |        |              |
 36  +------------+         +---------------+        +--------------+
 37  |            |         |               |        |              |
 38  |  PCI BUS   | <-----> |  PCI EP BUS   |        |  Virtual PCI |
 39  |            |  PCI    |               |        |     BUS      |
 40  +------------+         +---------------+--------+--------------+
 41      PCI RC                        PCI EP
 42
 43Constructs used for Implementing vNTB
 44=====================================
 45
 46	1) Config Region
 47	2) Self Scratchpad Registers
 48	3) Peer Scratchpad Registers
 49	4) Doorbell (DB) Registers
 50	5) Memory Window (MW)
 51
 52
 53Config Region:
 54--------------
 55
 56It is same as PCI NTB Function driver
 57
 58Scratchpad Registers:
 59---------------------
 60
 61It is appended after Config region.
 62
 63.. code-block:: text
 64
 65
 66  +--------------------------------------------------+ Base
 67  |                                                  |
 68  |                                                  |
 69  |                                                  |
 70  |          Common Config Register                  |
 71  |                                                  |
 72  |                                                  |
 73  |                                                  |
 74  +-----------------------+--------------------------+ Base + span_offset
 75  |                       |                          |
 76  |    Peer Span Space    |    Span Space            |
 77  |                       |                          |
 78  |                       |                          |
 79  +-----------------------+--------------------------+ Base + span_offset
 80  |                       |                          |      + span_count * 4
 81  |                       |                          |
 82  |     Span Space        |   Peer Span Space        |
 83  |                       |                          |
 84  +-----------------------+--------------------------+
 85        Virtual PCI             Pcie Endpoint
 86        NTB Driver               NTB Driver
 87
 88
 89Doorbell Registers:
 90-------------------
 91
 92  Doorbell Registers are used by the hosts to interrupt each other.
 93
 94Memory Window:
 95--------------
 96
 97  Actual transfer of data between the two hosts will happen using the
 98  memory window.
 99
100Modeling Constructs:
101====================
102
10332-bit BARs.
104
105======  ===============
106BAR NO  CONSTRUCTS USED
107======  ===============
108BAR0    Config Region
109BAR1    Doorbell
110BAR2    Memory Window 1
111BAR3    Memory Window 2
112BAR4    Memory Window 3
113BAR5    Memory Window 4
114======  ===============
115
11664-bit BARs.
117
118======  ===============================
119BAR NO  CONSTRUCTS USED
120======  ===============================
121BAR0    Config Region + Scratchpad
122BAR1
123BAR2    Doorbell
124BAR3
125BAR4    Memory Window 1
126BAR5
127======  ===============================
128
129
~/ Read-only file preview.