diff options
Diffstat (limited to 'Documentation/rapidio/mport_cdev.txt')
-rw-r--r-- | Documentation/rapidio/mport_cdev.txt | 107 |
1 files changed, 0 insertions, 107 deletions
diff --git a/Documentation/rapidio/mport_cdev.txt b/Documentation/rapidio/mport_cdev.txt deleted file mode 100644 index a53f786ee2e9..000000000000 --- a/Documentation/rapidio/mport_cdev.txt +++ /dev/null @@ -1,107 +0,0 @@ -RapidIO subsystem mport character device driver (rio_mport_cdev.c) -================================================================== - -Version History: ----------------- - 1.0.0 - Initial driver release. - -================================================================== - -I. Overview - -This device driver is the result of collaboration within the RapidIO.org -Software Task Group (STG) between Texas Instruments, Freescale, -Prodrive Technologies, Nokia Networks, BAE and IDT. Additional input was -received from other members of RapidIO.org. The objective was to create a -character mode driver interface which exposes the capabilities of RapidIO -devices directly to applications, in a manner that allows the numerous and -varied RapidIO implementations to interoperate. - -This driver (MPORT_CDEV) provides access to basic RapidIO subsystem operations -for user-space applications. Most of RapidIO operations are supported through -'ioctl' system calls. - -When loaded this device driver creates filesystem nodes named rio_mportX in /dev -directory for each registered RapidIO mport device. 'X' in the node name matches -to unique port ID assigned to each local mport device. - -Using available set of ioctl commands user-space applications can perform -following RapidIO bus and subsystem operations: - -- Reads and writes from/to configuration registers of mport devices - (RIO_MPORT_MAINT_READ_LOCAL/RIO_MPORT_MAINT_WRITE_LOCAL) -- Reads and writes from/to configuration registers of remote RapidIO devices. - This operations are defined as RapidIO Maintenance reads/writes in RIO spec. - (RIO_MPORT_MAINT_READ_REMOTE/RIO_MPORT_MAINT_WRITE_REMOTE) -- Set RapidIO Destination ID for mport devices (RIO_MPORT_MAINT_HDID_SET) -- Set RapidIO Component Tag for mport devices (RIO_MPORT_MAINT_COMPTAG_SET) -- Query logical index of mport devices (RIO_MPORT_MAINT_PORT_IDX_GET) -- Query capabilities and RapidIO link configuration of mport devices - (RIO_MPORT_GET_PROPERTIES) -- Enable/Disable reporting of RapidIO doorbell events to user-space applications - (RIO_ENABLE_DOORBELL_RANGE/RIO_DISABLE_DOORBELL_RANGE) -- Enable/Disable reporting of RIO port-write events to user-space applications - (RIO_ENABLE_PORTWRITE_RANGE/RIO_DISABLE_PORTWRITE_RANGE) -- Query/Control type of events reported through this driver: doorbells, - port-writes or both (RIO_SET_EVENT_MASK/RIO_GET_EVENT_MASK) -- Configure/Map mport's outbound requests window(s) for specific size, - RapidIO destination ID, hopcount and request type - (RIO_MAP_OUTBOUND/RIO_UNMAP_OUTBOUND) -- Configure/Map mport's inbound requests window(s) for specific size, - RapidIO base address and local memory base address - (RIO_MAP_INBOUND/RIO_UNMAP_INBOUND) -- Allocate/Free contiguous DMA coherent memory buffer for DMA data transfers - to/from remote RapidIO devices (RIO_ALLOC_DMA/RIO_FREE_DMA) -- Initiate DMA data transfers to/from remote RapidIO devices (RIO_TRANSFER). - Supports blocking, asynchronous and posted (a.k.a 'fire-and-forget') data - transfer modes. -- Check/Wait for completion of asynchronous DMA data transfer - (RIO_WAIT_FOR_ASYNC) -- Manage device objects supported by RapidIO subsystem (RIO_DEV_ADD/RIO_DEV_DEL). - This allows implementation of various RapidIO fabric enumeration algorithms - as user-space applications while using remaining functionality provided by - kernel RapidIO subsystem. - -II. Hardware Compatibility - -This device driver uses standard interfaces defined by kernel RapidIO subsystem -and therefore it can be used with any mport device driver registered by RapidIO -subsystem with limitations set by available mport implementation. - -At this moment the most common limitation is availability of RapidIO-specific -DMA engine framework for specific mport device. Users should verify available -functionality of their platform when planning to use this driver: - -- IDT Tsi721 PCIe-to-RapidIO bridge device and its mport device driver are fully - compatible with this driver. -- Freescale SoCs 'fsl_rio' mport driver does not have implementation for RapidIO - specific DMA engine support and therefore DMA data transfers mport_cdev driver - are not available. - -III. Module parameters - -- 'dma_timeout' - DMA transfer completion timeout (in msec, default value 3000). - This parameter set a maximum completion wait time for SYNC mode DMA - transfer requests and for RIO_WAIT_FOR_ASYNC ioctl requests. - -- 'dbg_level' - This parameter allows to control amount of debug information - generated by this device driver. This parameter is formed by set of - bit masks that correspond to the specific functional blocks. - For mask definitions see 'drivers/rapidio/devices/rio_mport_cdev.c' - This parameter can be changed dynamically. - Use CONFIG_RAPIDIO_DEBUG=y to enable debug output at the top level. - -IV. Known problems - - None. - -V. User-space Applications and API - -API library and applications that use this device driver are available from -RapidIO.org. - -VI. TODO List - -- Add support for sending/receiving "raw" RapidIO messaging packets. -- Add memory mapped DMA data transfers as an option when RapidIO-specific DMA - is not available. |