Standalone SRIO Driver for Linux
Alexandre.Bounine at idt.com
Tue Jul 17 00:15:06 EST 2012
With current way of device reporting in RapidIO subsystem you will need
to have at least one SRIO device (switch or EP) attached to your mport
to be able to find a reference to that mport device object. Like in the code fragment below:
static int rioport_init_module(void)
int ret, i;
dev_t dev = 0;
struct rio_mport *mport;
struct rio_net *net;
struct rio_dev *rdev = NULL;
struct rio_mport *port;
... skip ...
rdev = rio_get_device(RIO_ANY_ID, RIO_ANY_ID, rdev);
if (NULL == rdev)
mport = rdev->net->hport;
net = rdev->net;
... skip ...
I would like to mention that 2.6.34 kernel is quite behind on rapidio support updates.
There are multiple changes/updates added added since 2.6.34.
You may consider backporting these updates to your kernel version
if you are unable to use one of the latest kernel versions.
From: Saravanan S [mailto:sarans1987 at gmail.com]
Sent: Saturday, July 14, 2012 2:25 AM
To: Bounine, Alexandre
Cc: linuxppc-dev at lists.ozlabs.org
Subject: Re: Standalone SRIO Driver for Linux
Thanks for the reply . i will try to share some of my code later . Looking forward to ur ideas.
On Fri, Jul 13, 2012 at 6:18 PM, Bounine, Alexandre <Alexandre.Bounine at idt.com> wrote:
This should work. We use similar approach to test our mport HW drivers.
From: Linuxppc-dev [mailto:linuxppc-dev-bounces+alexandre.bounine=idt.com at lists.ozlabs.org] On Behalf Of Saravanan S
Sent: Friday, July 13, 2012 2:16 AM
To: linuxppc-dev at lists.ozlabs.org
Subject: Standalone SRIO Driver for Linux
Iam currently working on the GE make DSP230 board consisting of Quad PowerPC8640 nodes interconnected by SRIO with Linux 2.6.34 . However the only way to access the SRIO is through rionet facility . Our requirement is to use the SRIO interconnect without the Ethernet overheads. This would definitely enable higher speeds (though I cant find any throughput figures for SRIO in Linux on the net ??? ). My query is that whether any attempt has been made to develop a standalone driver and API to access the messaging and doorbell services of SRIO . If no then request you to please provide inputs on the same. From my study I have the following thoughts for the driver :
a) Have a character device interface for user .
b) Basically use the rio support functions provided in rio.c like rio_add_inb_buffer , rio_add_outb_message to transfer and receive messages and add buffers .
c) Maintain a dedicated ring of buffers in the driver and transfer data to and from the buffer to user space .
Is this the right direction . Would really appreciate any inputs . thanks in advance.
Linuxppc-dev mailing list
Linuxppc-dev at lists.ozlabs.org
More information about the Linuxppc-dev