RE: RapidIO - general questions
- From: "Anderson, Trevor" <tanderson@xxxxxxxxxxxxxxxxx>
- Date: Wed, 20 May 2009 16:42:41 -0700
With regards to your Oops: we sometimes find that, although a switch may
report a port being active, whenever
we try to discover what lies behind it, transfer errors occur that are
non-recoverable.
As a solution, on Freescale MPC8641D, we use a DMA transfer to perform a
simple MAINT read on a new device, just to see if it responds. Transfer
errors may still happen, but they are recoverable in that case, and you
can train your code to avoid that port or try it later. (The DMA engine
will report the error, not the processor.)
-----Original Message-----[mailto:linuxppc-dev-
From: linuxppc-dev-bounces+tanderson=curtisswright.com@xxxxxxxxxx
bounces+tanderson=curtisswright.com@xxxxxxxxxx] On Behalf Of JanNeskudla
Sent: Wednesday, May 20, 2009 12:00 AM<jan.neskudla.ext@xxxxxxx> wrote:
To: ext Li Yang
Cc: linuxppc-dev; linux-kernel@xxxxxxxxxxxxxxx
Subject: Re: RapidIO - general questions
n Fri, 2009-05-15 at 15:56 +0800, ext Li Yang wrote:
On Fri, May 15, 2009 at 3:33 PM, Jan Neskudla
<jan.neskudla.ext@xxxxxxx> wrote:On Wed, 2009-05-13 at 18:57 +0800, ext Li Yang wrote:
cc'ed LKML
On Tue, May 12, 2009 at 5:17 PM, Jan Neskudla
our newHallo
we'd likes to use a RapidIO as a general communication bus on
Linux RIOproduct, and so I have some questions about general design of
handling ofsubsystem. 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,
differentthem)
* Static ID configuration based on port numbers
* Aux driver - basic driver, for sending messages over
anyone whomboxes, handling ranges of doorbells
Is it here anyone who is working on any improvement, or
Linux.knows the development plans for RapidIO subsystem?
AFAIK, there is no one currently working on these features for
ofIt will be good if you can add these useful features.Yes it looks like that, currently we are analyzing current rapidIO
system, and how we can add these features.
[2] - I have a following problem with a current implementation
comparisonloading drivers. The driver probe-function call is based on
devices withof VendorID (VID) and DeviceID (DID) only. Thus if I have 3
driver issame DID and VID connected to the same network (bus), the
port.loaded 3times, instead only once for the actual device Master
of the device.
This should be the correct way as you actually have 3 instances
function
Rionet driver solved this by enabling to call initialization
multiplejust 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
handledethernet over rio links.
Is it this correct behavior ? It looks to me that RapidIO is
device/driverlike a local bus (like PCI)
This is correct behavior. All of them are using Linux
throughinfrastructure, but rionet is a special device.
But I do not have a 3 devices on one silicon. I am talking about 3
devices (3 x EP8548 boards + IDT switch) connected over rapidIO
siting onthe switch. And in this case I'd like to have only one driver
loadingthe top of Linux RapidIO subsystem. I don't see the advantage of
using
You are having one driver, but it probes 3 times for each device
tothe driver.
a driver locally for remote device. Am I missing something ?
If you want to interact with the remote device, you need the driver
anddo the work locally.
We are going to use a RapidIO as a bigger network of active devices,
each will have each own driver (sitting on its own), and all theWhenever
settings will be done over maintenance packets.
May be it will be solved by the fact, that we are going to use a
staticIDs, so there will be no discovery as it is now. And thus there
will be only one device visible in the internal structures of the
subsystem, and thus only one drive will be loaded.
And one more think, I am getting so much Bus errors OOPSes.
kernel OPS.there is a problem with a comunication over Rio I get such a
theI had to add some delays into some function to be able to finish
biggerenum+discovery process. Did you have some experience with some
isrio network running under linux ?
It looks like an known issue for switched rio network, but I don't
have the correct equipment to reproduce the problem here. Could you
do some basic debugging and share your findings? Thanks.
I tried to acquired some info about the problem, I found that the OOPS
always occur when there is no respond from the device or the respond
too slow. I always got that error during function callrio_mport_read_config_32
rio_get_host_deviceid_lock when it tries to access a remote device or
switch. This function is the first call of the
so is also first try of remote access to any device.
It is a timing issue, and after placing a printk into the
rio_get_host_deviceid_lock the OOPSing almost disappeared.
Jan
- Leo
_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@xxxxxxxxxx
https://ozlabs.org/mailman/listinfo/linuxppc-dev
_______________________________________________________________________
This e-mail and any files transmitted with it are proprietary and intended solely for the use of the individual or entity to whom they are addressed. If you have reason to believe that you have received this e-mail in error, please notify the sender and destroy this email and any attached files. Please note that any views or opinions presented in this e-mail are solely those of the author and do not necessarily represent those of the Curtiss-Wright Corporation or any of its subsidiaries. Documents attached hereto may contain technology subject to government export regulations. Recipient is solely responsible for ensuring that any re-export, transfer or disclosure of this information is in accordance with applicable government export regulations. The recipient should check this e-mail and any attachments for the presence of viruses. Curtiss-Wright Corporation and its subsidiaries accept no liability for any damage caused by any virus transmitted by this e-mail.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
- References:
- Re: RapidIO - general questions
- From: Li Yang
- Re: RapidIO - general questions
- From: Jan Neskudla
- Re: RapidIO - general questions
- From: Li Yang
- Re: RapidIO - general questions
- From: Jan Neskudla
- Re: RapidIO - general questions
- Prev by Date: [git pull] PCI fix
- Next by Date: Re: [PATCH] x86/pci: do assign root bus res if _CRS is used
- Previous by thread: Re: RapidIO - general questions
- Next by thread: [PATCH] usb-serial: ftdi: don't dereference NULL pointer
- Index(es):
Relevant Pages
|