RapidIO - general questions

Li Yang leoli at freescale.com
Wed May 13 20:57:28 EST 2009


cc'ed LKML

On Tue, May 12, 2009 at 5:17 PM, Jan Neskudla <jan.neskudla.ext at nsn.com> wrote:
> Hallo
>
> we'd likes to use a RapidIO as a general communication bus on our new
> product, and so I have some questions about general design of Linux RIO
> subsystem. I did not find any better mailing list for RapidIO
> discussion.
>
> [1] - we'd like to implement following features
>    * Hot-plug (hot-insert/hot-remove) of devices
>    * Error handling (port-write packets - configuration, handling of
> them)
>    * Static ID configuration based on port numbers
>    * Aux driver - basic driver, for sending messages over different
> mboxes, handling ranges of doorbells
>
>    Is it here anyone who is working on any improvement, or anyone who
> knows the development plans for RapidIO subsystem?
>

AFAIK, there is no one currently working on these features for Linux.
It will be good if you can add these useful features.

> [2] - I have a following problem with a current implementation of
> loading drivers. The driver probe-function call is based on comparison
> of VendorID (VID) and DeviceID (DID) only. Thus if I have 3 devices with
> same DID and VID connected to the same network (bus), the driver is
> loaded 3times, instead only once for the actual device Master port.

This should be the correct way as you actually have 3 instances of the device.

>
> Rionet driver solved this by enabling to call initialization function
> just once, and it expect that this is the Master port.

Rionet is kind of special.  It's not working like a simple device
driver, but more like a customized protocol stack to support multiple
ethernet over rio links.

>
> Is it this correct behavior  ? It looks to me that RapidIO is handled
> like a local bus (like PCI)

This is correct behavior.  All of them are using Linux device/driver
infrastructure, but rionet is a special device.

- Leo



More information about the Linuxppc-dev mailing list