Commit 48618fb4 authored by Alexandre Bounine's avatar Alexandre Bounine Committed by Linus Torvalds

RapidIO: add mport driver for Tsi721 bridge

Add RapidIO mport driver for IDT TSI721 PCI Express-to-SRIO bridge device.
 The driver provides full set of callback functions defined for mport
devices in RapidIO subsystem.  It also is compatible with current version
of RIONET driver (Ethernet over RapidIO messaging services).

This patch is applicable to kernel versions starting from 2.6.39.
Signed-off-by: default avatarAlexandre Bounine <alexandre.bounine@idt.com>
Signed-off-by: default avatarChul Kim <chul.kim@idt.com>
Cc: Kumar Gala <galak@kernel.crashing.org>
Cc: Matt Porter <mporter@kernel.crashing.org>
Cc: Li Yang <leoli@freescale.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent e80dd9a7
RapidIO subsystem mport driver for IDT Tsi721 PCI Express-to-SRIO bridge.
=========================================================================
I. Overview
This driver implements all currently defined RapidIO mport callback functions.
It supports maintenance read and write operations, inbound and outbound RapidIO
doorbells, inbound maintenance port-writes and RapidIO messaging.
To generate SRIO maintenance transactions this driver uses one of Tsi721 DMA
channels. This mechanism provides access to larger range of hop counts and
destination IDs without need for changes in outbound window translation.
RapidIO messaging support uses dedicated messaging channels for each mailbox.
For inbound messages this driver uses destination ID matching to forward messages
into the corresponding message queue. Messaging callbacks are implemented to be
fully compatible with RIONET driver (Ethernet over RapidIO messaging services).
II. Known problems
None.
III. To do
Add DMA data transfers (non-messaging).
Add inbound region (SRIO-to-PCIe) mapping.
IV. Version History
1.0.0 - Initial driver release.
V. License
-----------------------------------------------
Copyright(c) 2011 Integrated Device Technology, Inc. All rights reserved.
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the Free
Software Foundation; either version 2 of the License, or (at your option)
any later version.
This program is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details.
You should have received a copy of the GNU General Public License along with
this program; if not, write to the Free Software Foundation, Inc.,
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
# #
# RapidIO configuration # RapidIO configuration
# #
source "drivers/rapidio/devices/Kconfig"
config RAPIDIO_DISC_TIMEOUT config RAPIDIO_DISC_TIMEOUT
int "Discovery timeout duration (seconds)" int "Discovery timeout duration (seconds)"
depends on RAPIDIO depends on RAPIDIO
...@@ -20,8 +22,6 @@ config RAPIDIO_ENABLE_RX_TX_PORTS ...@@ -20,8 +22,6 @@ config RAPIDIO_ENABLE_RX_TX_PORTS
ports for Input/Output direction to allow other traffic ports for Input/Output direction to allow other traffic
than Maintenance transfers. than Maintenance transfers.
source "drivers/rapidio/switches/Kconfig"
config RAPIDIO_DEBUG config RAPIDIO_DEBUG
bool "RapidIO subsystem debug messages" bool "RapidIO subsystem debug messages"
depends on RAPIDIO depends on RAPIDIO
...@@ -32,3 +32,5 @@ config RAPIDIO_DEBUG ...@@ -32,3 +32,5 @@ config RAPIDIO_DEBUG
going on. going on.
If you are unsure about this, say N here. If you are unsure about this, say N here.
source "drivers/rapidio/switches/Kconfig"
...@@ -4,5 +4,6 @@ ...@@ -4,5 +4,6 @@
obj-y += rio.o rio-access.o rio-driver.o rio-scan.o rio-sysfs.o obj-y += rio.o rio-access.o rio-driver.o rio-scan.o rio-sysfs.o
obj-$(CONFIG_RAPIDIO) += switches/ obj-$(CONFIG_RAPIDIO) += switches/
obj-$(CONFIG_RAPIDIO) += devices/
subdir-ccflags-$(CONFIG_RAPIDIO_DEBUG) := -DDEBUG subdir-ccflags-$(CONFIG_RAPIDIO_DEBUG) := -DDEBUG
#
# RapidIO master port configuration
#
config RAPIDIO_TSI721
bool "IDT Tsi721 PCI Express SRIO Controller support"
depends on RAPIDIO && PCIEPORTBUS
default "n"
---help---
Include support for IDT Tsi721 PCI Express Serial RapidIO controller.
#
# Makefile for RapidIO devices
#
obj-$(CONFIG_RAPIDIO_TSI721) += tsi721.o
This diff is collapsed.
This diff is collapsed.
...@@ -39,5 +39,6 @@ ...@@ -39,5 +39,6 @@
#define RIO_DID_IDTCPS1616 0x0379 #define RIO_DID_IDTCPS1616 0x0379
#define RIO_DID_IDTVPS1616 0x0377 #define RIO_DID_IDTVPS1616 0x0377
#define RIO_DID_IDTSPS1616 0x0378 #define RIO_DID_IDTSPS1616 0x0378
#define RIO_DID_TSI721 0x80ab
#endif /* LINUX_RIO_IDS_H */ #endif /* LINUX_RIO_IDS_H */
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment