Lines Matching +full:master +full:- +full:kernel

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
50 ----------
54 structure. Devices form one global device list and per-network device lists
58 ----------
68 specific switch drivers that are designed to provide hardware-specific
72 -----------
76 data structure. This structure includes lists of all devices and local master
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
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.
106 After all active master ports are registered with a RapidIO subsystem,
108 by user-space command.
111 modular component of the kernel (see details below).
117 ------------
129 automatically during kernel initialization time using corresponding module
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
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
267 table entry contains a pointer to a switch-specific initialization routine that
285 (0xFF for 8-bit systems and 0xFFFF for 16-bit systems) is temporarily written
299 devices. This way each Linux-based component of the RapidIO subsystem has
301 simultaneously by several agents. After initializing its RapidIO master port
304 an agent skips RapidIO discovery and continues with remaining kernel
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.
332 # Set enumerator host destination ID (overrides kernel command line option)
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