blob: 7c1c7bf48ec0ae58f506a75655d5a8ef176879fc [file] [log] [blame]
Alexandre Bounine48618fb2011-11-02 13:39:09 -07001RapidIO subsystem mport driver for IDT Tsi721 PCI Express-to-SRIO bridge.
2=========================================================================
3
4I. Overview
5
6This driver implements all currently defined RapidIO mport callback functions.
7It supports maintenance read and write operations, inbound and outbound RapidIO
8doorbells, inbound maintenance port-writes and RapidIO messaging.
9
10To generate SRIO maintenance transactions this driver uses one of Tsi721 DMA
11channels. This mechanism provides access to larger range of hop counts and
12destination IDs without need for changes in outbound window translation.
13
14RapidIO messaging support uses dedicated messaging channels for each mailbox.
15For inbound messages this driver uses destination ID matching to forward messages
16into the corresponding message queue. Messaging callbacks are implemented to be
17fully compatible with RIONET driver (Ethernet over RapidIO messaging services).
18
Alexandre Bounine72d8a0d2016-03-22 14:26:56 -0700191. Module parameters:
20- 'dbg_level' - This parameter allows to control amount of debug information
21 generated by this device driver. This parameter is formed by set of
22 This parameter can be changed bit masks that correspond to the specific
23 functional block.
24 For mask definitions see 'drivers/rapidio/devices/tsi721.h'
25 This parameter can be changed dynamically.
26 Use CONFIG_RAPIDIO_DEBUG=y to enable debug output at the top level.
27
Alexandre Bounine48618fb2011-11-02 13:39:09 -070028II. Known problems
29
30 None.
31
Alexandre Bounine50835e92014-08-08 14:22:12 -070032III. DMA Engine Support
Alexandre Bounine48618fb2011-11-02 13:39:09 -070033
Alexandre Bounine50835e92014-08-08 14:22:12 -070034Tsi721 mport driver supports DMA data transfers between local system memory and
35remote RapidIO devices. This functionality is implemented according to SLAVE
36mode API defined by common Linux kernel DMA Engine framework.
37
38Depending on system requirements RapidIO DMA operations can be included/excluded
39by setting CONFIG_RAPIDIO_DMA_ENGINE option. Tsi721 miniport driver uses seven
40out of eight available BDMA channels to support DMA data transfers.
41One BDMA channel is reserved for generation of maintenance read/write requests.
42
43If Tsi721 mport driver have been built with RAPIDIO_DMA_ENGINE support included,
44this driver will accept DMA-specific module parameter:
45 "dma_desc_per_channel" - defines number of hardware buffer descriptors used by
46 each BDMA channel of Tsi721 (by default - 128).
Alexandre Bounine48618fb2011-11-02 13:39:09 -070047
48IV. Version History
49
Alexandre Bounine50835e92014-08-08 14:22:12 -070050 1.1.0 - DMA operations re-worked to support data scatter/gather lists larger
51 than hardware buffer descriptors ring.
Alexandre Bounine48618fb2011-11-02 13:39:09 -070052 1.0.0 - Initial driver release.
53
54V. License
55-----------------------------------------------
56
57 Copyright(c) 2011 Integrated Device Technology, Inc. All rights reserved.
58
59 This program is free software; you can redistribute it and/or modify it
60 under the terms of the GNU General Public License as published by the Free
61 Software Foundation; either version 2 of the License, or (at your option)
62 any later version.
63
64 This program is distributed in the hope that it will be useful, but WITHOUT
65 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
66 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
67 more details.
68
69 You should have received a copy of the GNU General Public License along with
70 this program; if not, write to the Free Software Foundation, Inc.,
71 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.