Lines Matching +full:port +full:- +full:specific
5 The RapidIO standard is a packet-based fabric interconnect standard designed for
8 is publicly available for download from the RTA web-site [1].
17 into the kernel similarly to other buses by defining RapidIO-specific device and
21 architecture-specific interfaces that provide support for common RapidIO
32 2.1 Master Port
33 ---------------
35 A master port (or mport) is a RapidIO interface controller that is local to the
36 processor executing the Linux code. A master port generates and receives RapidIO
37 packets (transactions). In the RapidIO subsystem each master port is represented
38 by a rio_mport data structure. This structure contains master port specific
40 host device ID that is valid when a master port is configured as an enumerating
43 RapidIO master ports are serviced by subsystem specific mport device drivers
46 includes rio_ops data structure which contains pointers to hardware specific
50 ----------
54 structure. Devices form one global device list and per-network device lists
58 ----------
61 ports towards their final destination. The packet destination port within a
64 data structure, which contains switch specific information such as copy of the
65 routing table and pointers to switch specific functions.
68 specific switch drivers that are designed to provide hardware-specific
72 -----------
78 master port that is used to communicate with devices within the network.
81 ------------------
83 RapidIO device-specific drivers follow Linux Kernel Driver Model and are
84 intended to support specific RapidIO devices attached to the RapidIO network.
87 ------------------------
91 common services may act separately from device-specific drivers or be used by
92 device-specific drivers. Example of such service provider is the RIONET driver
93 which implements Ethernet-over-RapidIO interface. Because only one driver can be
96 the same device without blocking attachment of a device-specific driver.
102 register at least one master port within the RapidIO network. To register mport
104 rio_register_mport() for each available master port.
108 by user-space command.
117 ------------
132 'rio-scan.scan' for existing basic enumeration/discovery method.
140 a user-space command as it is described below (if the given endpoint was
147 started first by issuing a user-space command, after an enumeration is
152 process can be started by issuing a user-space command.
160 routine depending on the configured role of a master port: host or agent.
162 Enumeration is performed by a master port if it is configured as a host port by
164 destination ID can be assigned to a master port using various methods depending
170 the command line parameter "rapidio.hdid=-1,7" will result in assignment of
172 one will be assigned destination ID=-1.
178 - from command line: "modprobe rapidio hdid=-1,7", or
179 - from modprobe configuration file using configuration command "options",
180 like in this example: "options rapidio hdid=-1,7". An example of modprobe
185 destination ID = -1;
188 destination ID assignments omitted from the end of list (default = -1).
190 If the host device ID for a specific master port is set to -1, the discovery
196 NOTE: If RapidIO switch-specific device drivers are built as loadable modules
199 vendor-specific callbacks on early stages.
202 ------------------------------------------------
204 Automatic enumeration/discovery start method is applicable only to built-in
207 command line parameter "rio-scan.scan=1".
224 4.3 User-space Start of Enumeration and Discovery
225 -------------------------------------------------
227 User-space start of enumeration and discovery can be used with built-in and
228 modular build configurations. For user-space controlled start RapidIO subsystem
229 creates the sysfs write-only attribute file '/sys/bus/rapidio/scan'. To initiate
230 an enumeration or discovery process on specific mport device, a user needs to
237 write '-1' (or RIO_MPORT_ANY) into the scan attribute file.
240 ----------------------------
254 The enumeration process traverses the network using a recursive depth-first
265 structure to store switch specific information. Then the switch's vendor ID and
267 table entry contains a pointer to a switch-specific initialization routine that
268 initializes pointers to the rest of switch specific operations, and performs
284 port of that switch. For each active link, a route to a default device ID
285 (0xFF for 8-bit systems and 0xFFFF for 16-bit systems) is temporarily written
287 and the default device ID in order to access the device on the active port.
291 in the system, it sets the Discovered bit in the Port General Control CSR
299 devices. This way each Linux-based component of the RapidIO subsystem has
301 simultaneously by several agents. After initializing its RapidIO master port
308 -------------------------------------------
321 -----------------------------------------
325 This process can be automated by specifying pre- or post- dependencies in the
326 RapidIO-specific modprobe configuration file as shown in the example below.
333 options rapidio hdid=-1,2
340 # Load RapidIO switch drivers just before rio-scan enumerator module is loaded
341 softdep rio-scan pre: idt_gen2 idtcps tsi57x
343 --------------------------
362 https://www.kernel.org/doc/ols/2005/ols2005v2-pages-43-56.pdf