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

TOMOYO Linux Cross Reference
Linux/Documentation/driver-api/rapidio/rio_cm.rst

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ 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.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /Documentation/driver-api/rapidio/rio_cm.rst (Architecture sparc64) and /Documentation/driver-api/rapidio/rio_cm.rst (Architecture sparc)


  1 ==============================================      1 ==========================================================================
  2 RapidIO subsystem Channelized Messaging charac      2 RapidIO subsystem Channelized Messaging character device driver (rio_cm.c)
  3 ==============================================      3 ==========================================================================
  4                                                     4 
  5                                                     5 
  6 1. Overview                                         6 1. Overview
  7 ===========                                         7 ===========
  8                                                     8 
  9 This device driver is the result of collaborat      9 This device driver is the result of collaboration within the RapidIO.org
 10 Software Task Group (STG) between Texas Instru     10 Software Task Group (STG) between Texas Instruments, Prodrive Technologies,
 11 Nokia Networks, BAE and IDT.  Additional input     11 Nokia Networks, BAE and IDT.  Additional input was received from other members
 12 of RapidIO.org.                                    12 of RapidIO.org.
 13                                                    13 
 14 The objective was to create a character mode d     14 The objective was to create a character mode driver interface which exposes
 15 messaging capabilities of RapidIO endpoint dev     15 messaging capabilities of RapidIO endpoint devices (mports) directly
 16 to applications, in a manner that allows the n     16 to applications, in a manner that allows the numerous and varied RapidIO
 17 implementations to interoperate.                   17 implementations to interoperate.
 18                                                    18 
 19 This driver (RIO_CM) provides to user-space ap     19 This driver (RIO_CM) provides to user-space applications shared access to
 20 RapidIO mailbox messaging resources.               20 RapidIO mailbox messaging resources.
 21                                                    21 
 22 RapidIO specification (Part 2) defines that en     22 RapidIO specification (Part 2) defines that endpoint devices may have up to four
 23 messaging mailboxes in case of multi-packet me     23 messaging mailboxes in case of multi-packet message (up to 4KB) and
 24 up to 64 mailboxes if single-packet messages (     24 up to 64 mailboxes if single-packet messages (up to 256 B) are used. In addition
 25 to protocol definition limitations, a particul     25 to protocol definition limitations, a particular hardware implementation can
 26 have reduced number of messaging mailboxes.  R     26 have reduced number of messaging mailboxes.  RapidIO aware applications must
 27 therefore share the messaging resources of a R     27 therefore share the messaging resources of a RapidIO endpoint.
 28                                                    28 
 29 Main purpose of this device driver is to provi     29 Main purpose of this device driver is to provide RapidIO mailbox messaging
 30 capability to large number of user-space proce     30 capability to large number of user-space processes by introducing socket-like
 31 operations using a single messaging mailbox.       31 operations using a single messaging mailbox.  This allows applications to
 32 use the limited RapidIO messaging hardware res     32 use the limited RapidIO messaging hardware resources efficiently.
 33                                                    33 
 34 Most of device driver's operations are support     34 Most of device driver's operations are supported through 'ioctl' system calls.
 35                                                    35 
 36 When loaded this device driver creates a singl     36 When loaded this device driver creates a single file system node named rio_cm
 37 in /dev directory common for all registered Ra     37 in /dev directory common for all registered RapidIO mport devices.
 38                                                    38 
 39 Following ioctl commands are available to user     39 Following ioctl commands are available to user-space applications:
 40                                                    40 
 41 - RIO_CM_MPORT_GET_LIST:                           41 - RIO_CM_MPORT_GET_LIST:
 42     Returns to caller list of local mport devi     42     Returns to caller list of local mport devices that
 43     support messaging operations (number of en     43     support messaging operations (number of entries up to RIO_MAX_MPORTS).
 44     Each list entry is combination of mport's      44     Each list entry is combination of mport's index in the system and RapidIO
 45     destination ID assigned to the port.           45     destination ID assigned to the port.
 46 - RIO_CM_EP_GET_LIST_SIZE:                         46 - RIO_CM_EP_GET_LIST_SIZE:
 47     Returns number of messaging capable remote     47     Returns number of messaging capable remote endpoints
 48     in a RapidIO network associated with the s     48     in a RapidIO network associated with the specified mport device.
 49 - RIO_CM_EP_GET_LIST:                              49 - RIO_CM_EP_GET_LIST:
 50     Returns list of RapidIO destination IDs fo     50     Returns list of RapidIO destination IDs for messaging
 51     capable remote endpoints (peers) available     51     capable remote endpoints (peers) available in a RapidIO network associated
 52     with the specified mport device.               52     with the specified mport device.
 53 - RIO_CM_CHAN_CREATE:                              53 - RIO_CM_CHAN_CREATE:
 54     Creates RapidIO message exchange channel d     54     Creates RapidIO message exchange channel data structure
 55     with channel ID assigned automatically or      55     with channel ID assigned automatically or as requested by a caller.
 56 - RIO_CM_CHAN_BIND:                                56 - RIO_CM_CHAN_BIND:
 57     Binds the specified channel data structure     57     Binds the specified channel data structure to the specified
 58     mport device.                                  58     mport device.
 59 - RIO_CM_CHAN_LISTEN:                              59 - RIO_CM_CHAN_LISTEN:
 60     Enables listening for connection requests      60     Enables listening for connection requests on the specified
 61     channel.                                       61     channel.
 62 - RIO_CM_CHAN_ACCEPT:                              62 - RIO_CM_CHAN_ACCEPT:
 63     Accepts a connection request from peer on      63     Accepts a connection request from peer on the specified
 64     channel. If wait timeout for this request      64     channel. If wait timeout for this request is specified by a caller it is
 65     a blocking call. If timeout set to 0 this      65     a blocking call. If timeout set to 0 this is non-blocking call - ioctl
 66     handler checks for a pending connection re     66     handler checks for a pending connection request and if one is not available
 67     exits with -EGAIN error status immediately     67     exits with -EGAIN error status immediately.
 68 - RIO_CM_CHAN_CONNECT:                             68 - RIO_CM_CHAN_CONNECT:
 69     Sends a connection request to a remote pee     69     Sends a connection request to a remote peer/channel.
 70 - RIO_CM_CHAN_SEND:                                70 - RIO_CM_CHAN_SEND:
 71     Sends a data message through the specified     71     Sends a data message through the specified channel.
 72     The handler for this request assumes that      72     The handler for this request assumes that message buffer specified by
 73     a caller includes the reserved space for a     73     a caller includes the reserved space for a packet header required by
 74     this driver.                                   74     this driver.
 75 - RIO_CM_CHAN_RECEIVE:                             75 - RIO_CM_CHAN_RECEIVE:
 76     Receives a data message through a connecte     76     Receives a data message through a connected channel.
 77     If the channel does not have an incoming m     77     If the channel does not have an incoming message ready to return this ioctl
 78     handler will wait for new message until ti     78     handler will wait for new message until timeout specified by a caller
 79     expires. If timeout value is set to 0, ioc     79     expires. If timeout value is set to 0, ioctl handler uses a default value
 80     defined by MAX_SCHEDULE_TIMEOUT.               80     defined by MAX_SCHEDULE_TIMEOUT.
 81 - RIO_CM_CHAN_CLOSE:                               81 - RIO_CM_CHAN_CLOSE:
 82     Closes a specified channel and frees assoc     82     Closes a specified channel and frees associated buffers.
 83     If the specified channel is in the CONNECT     83     If the specified channel is in the CONNECTED state, sends close notification
 84     to the remote peer.                            84     to the remote peer.
 85                                                    85 
 86 The ioctl command codes and corresponding data     86 The ioctl command codes and corresponding data structures intended for use by
 87 user-space applications are defined in 'includ     87 user-space applications are defined in 'include/uapi/linux/rio_cm_cdev.h'.
 88                                                    88 
 89 2. Hardware Compatibility                          89 2. Hardware Compatibility
 90 =========================                          90 =========================
 91                                                    91 
 92 This device driver uses standard interfaces de     92 This device driver uses standard interfaces defined by kernel RapidIO subsystem
 93 and therefore it can be used with any mport de     93 and therefore it can be used with any mport device driver registered by RapidIO
 94 subsystem with limitations set by available mp     94 subsystem with limitations set by available mport HW implementation of messaging
 95 mailboxes.                                         95 mailboxes.
 96                                                    96 
 97 3. Module parameters                               97 3. Module parameters
 98 ====================                               98 ====================
 99                                                    99 
100 - 'dbg_level'                                     100 - 'dbg_level'
101       - This parameter allows to control amoun    101       - This parameter allows to control amount of debug information
102         generated by this device driver. This     102         generated by this device driver. This parameter is formed by set of
103         bit masks that correspond to the speci    103         bit masks that correspond to the specific functional block.
104         For mask definitions see 'drivers/rapi    104         For mask definitions see 'drivers/rapidio/devices/rio_cm.c'
105         This parameter can be changed dynamica    105         This parameter can be changed dynamically.
106         Use CONFIG_RAPIDIO_DEBUG=y to enable d    106         Use CONFIG_RAPIDIO_DEBUG=y to enable debug output at the top level.
107                                                   107 
108 - 'cmbox'                                         108 - 'cmbox'
109       - Number of RapidIO mailbox to use (defa    109       - Number of RapidIO mailbox to use (default value is 1).
110         This parameter allows to set messaging    110         This parameter allows to set messaging mailbox number that will be used
111         within entire RapidIO network. It can     111         within entire RapidIO network. It can be used when default mailbox is
112         used by other device drivers or is not    112         used by other device drivers or is not supported by some nodes in the
113         RapidIO network.                          113         RapidIO network.
114                                                   114 
115 - 'chstart'                                       115 - 'chstart'
116       - Start channel number for dynamic assig    116       - Start channel number for dynamic assignment. Default value - 256.
117         Allows to exclude channel numbers belo    117         Allows to exclude channel numbers below this parameter from dynamic
118         allocation to avoid conflicts with sof    118         allocation to avoid conflicts with software components that use
119         reserved predefined channel numbers.      119         reserved predefined channel numbers.
120                                                   120 
121 4. Known problems                                 121 4. Known problems
122 =================                                 122 =================
123                                                   123 
124   None.                                           124   None.
125                                                   125 
126 5. User-space Applications and API Library        126 5. User-space Applications and API Library
127 ==========================================        127 ==========================================
128                                                   128 
129 Messaging API library and applications that us    129 Messaging API library and applications that use this device driver are available
130 from RapidIO.org.                                 130 from RapidIO.org.
131                                                   131 
132 6. TODO List                                      132 6. TODO List
133 ============                                      133 ============
134                                                   134 
135 - Add support for system notification messages    135 - Add support for system notification messages (reserved channel 0).
                                                      

~ [ 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