~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/PCI/endpoint/pci-ntb-howto.rst

Version: ~ [ linux-6.11.5 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.58 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.114 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.169 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.228 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.284 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.322 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /Documentation/PCI/endpoint/pci-ntb-howto.rst (Version linux-6.11.5) and /Documentation/PCI/endpoint/pci-ntb-howto.rst (Version linux-4.9.337)


  1 .. SPDX-License-Identifier: GPL-2.0               
  2                                                   
  3 ==============================================    
  4 PCI Non-Transparent Bridge (NTB) Endpoint Func    
  5 ==============================================    
  6                                                   
  7 :Author: Kishon Vijay Abraham I <kishon@ti.com>    
  8                                                   
  9 This document is a guide to help users use pci    
 10 and ntb_hw_epf host driver for NTB functionali    
 11 be followed in the host side and EP side is gi    
 12 configuration and internals of NTB using confi    
 13 Documentation/PCI/endpoint/pci-ntb-function.rs    
 14                                                   
 15 Endpoint Device                                   
 16 ===============                                   
 17                                                   
 18 Endpoint Controller Devices                       
 19 ---------------------------                       
 20                                                   
 21 For implementing NTB functionality at least tw    
 22 are required.                                     
 23                                                   
 24 To find the list of endpoint controller device    
 25                                                   
 26         # ls /sys/class/pci_epc/                  
 27         2900000.pcie-ep  2910000.pcie-ep          
 28                                                   
 29 If PCI_ENDPOINT_CONFIGFS is enabled::             
 30                                                   
 31         # ls /sys/kernel/config/pci_ep/control    
 32         2900000.pcie-ep  2910000.pcie-ep          
 33                                                   
 34                                                   
 35 Endpoint Function Drivers                         
 36 -------------------------                         
 37                                                   
 38 To find the list of endpoint function drivers     
 39                                                   
 40         # ls /sys/bus/pci-epf/drivers             
 41         pci_epf_ntb   pci_epf_ntb                 
 42                                                   
 43 If PCI_ENDPOINT_CONFIGFS is enabled::             
 44                                                   
 45         # ls /sys/kernel/config/pci_ep/functio    
 46         pci_epf_ntb   pci_epf_ntb                 
 47                                                   
 48                                                   
 49 Creating pci-epf-ntb Device                       
 50 ----------------------------                      
 51                                                   
 52 PCI endpoint function device can be created us    
 53 pci-epf-ntb device, the following commands can    
 54                                                   
 55         # mount -t configfs none /sys/kernel/c    
 56         # cd /sys/kernel/config/pci_ep/           
 57         # mkdir functions/pci_epf_ntb/func1       
 58                                                   
 59 The "mkdir func1" above creates the pci-epf-nt    
 60 be probed by pci_epf_ntb driver.                  
 61                                                   
 62 The PCI endpoint framework populates the direc    
 63 configurable fields::                             
 64                                                   
 65         # ls functions/pci_epf_ntb/func1          
 66         baseclass_code    deviceid          ms    
 67         progif_code       secondary         su    
 68         cache_line_size   interrupt_pin     ms    
 69         revid             subclass_code     su    
 70                                                   
 71 The PCI endpoint function driver populates the    
 72 when the device is bound to the driver. The pc    
 73 vendorid with 0xffff and interrupt_pin with 0x    
 74                                                   
 75         # cat functions/pci_epf_ntb/func1/vend    
 76         0xffff                                    
 77         # cat functions/pci_epf_ntb/func1/inte    
 78         0x0001                                    
 79                                                   
 80                                                   
 81 Configuring pci-epf-ntb Device                    
 82 -------------------------------                   
 83                                                   
 84 The user can configure the pci-epf-ntb device     
 85 to change the vendorid and the deviceid, the f    
 86 commands can be used::                            
 87                                                   
 88         # echo 0x104c > functions/pci_epf_ntb/    
 89         # echo 0xb00d > functions/pci_epf_ntb/    
 90                                                   
 91 The PCI endpoint framework also automatically     
 92 function attribute directory. This sub-directo    
 93 of the function device and is populated with t    
 94 attributes that can be configured by the user:    
 95                                                   
 96         # ls functions/pci_epf_ntb/func1/pci_e    
 97         db_count    mw1         mw2         mw    
 98         spad_count                                
 99                                                   
100 A sample configuration for NTB function is giv    
101                                                   
102         # echo 4 > functions/pci_epf_ntb/func1    
103         # echo 128 > functions/pci_epf_ntb/fun    
104         # echo 2 > functions/pci_epf_ntb/func1    
105         # echo 0x100000 > functions/pci_epf_nt    
106         # echo 0x100000 > functions/pci_epf_nt    
107                                                   
108 Binding pci-epf-ntb Device to EP Controller       
109 --------------------------------------------      
110                                                   
111 NTB function device should be attached to two     
112 connected to the two hosts. Use the 'primary'     
113 inside NTB function device to attach one PCI e    
114 primary interface and the other PCI endpoint c    
115 interface::                                       
116                                                   
117         # ln -s controllers/2900000.pcie-ep/ f    
118         # ln -s controllers/2910000.pcie-ep/ f    
119                                                   
120 Once the above step is completed, both the PCI    
121 establish a link with the host.                   
122                                                   
123                                                   
124 Start the Link                                    
125 --------------                                    
126                                                   
127 In order for the endpoint device to establish     
128 field should be populated with '1'. For NTB, b    
129 should establish link with the host::             
130                                                   
131         # echo 1 > controllers/2900000.pcie-ep    
132         # echo 1 > controllers/2910000.pcie-ep    
133                                                   
134                                                   
135 RootComplex Device                                
136 ==================                                
137                                                   
138 lspci Output                                      
139 ------------                                      
140                                                   
141 Note that the devices listed here correspond t    
142 "Creating pci-epf-ntb Device" section above::     
143                                                   
144         # lspci                                   
145         0000:00:00.0 PCI bridge: Texas Instrum    
146         0000:01:00.0 RAM memory: Texas Instrum    
147                                                   
148                                                   
149 Using ntb_hw_epf Device                           
150 -----------------------                           
151                                                   
152 The host side software follows the standard NT    
153 All the existing client side NTB utilities lik    
154 Netdev, NTB Ping Pong Test Client and NTB Tool    
155 function device.                                  
156                                                   
157 For more information on NTB see                   
158 :doc:`Non-Transparent Bridge <../../driver-api    
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php