Serial RapidIO Maintaintance read causes lock up

Bastiaan Nijkamp bastiaan.nijkamp at gmail.com
Thu Oct 14 02:05:41 EST 2010


> How the host ID is set on your host board?
Normally rio_enum_host() should increment next_destid in your case.

The hostID is set to 0x0 with the riohdid parameter as boot argument.

> Make sure that you have the MASTER bit is set in agent's GCCSR register
(0xC_013C).
If your board uses HW config switches to set host/agent mode this bit will
be 0 for agent.
For quick test you may keep both boards in the host mode - the current RIO
implementation relies on "riohdid=" command line parameter instead of HOST
bit.

This seems to have done the trick :-) However, i wonder, doesn't it make
more sense to make the driver check this setting and correcting it or giving
an error instead of entering a endless loop?

Thank you for helping out, it is very much appreciated.

Bastiaan.


2010/10/13 Bounine, Alexandre <Alexandre.Bounine at idt.com>

> Bastiaan Nijkamp wrote:
>
> >Has the driver ever been tested/used without a switch attached? Because
> when the host >(which has ID 0x0) enumerates the other board it also assigns
> ID 0x0 to the agent, it seems >that the agent should have been assigned 0x1
> as ID.
>
> How the host ID is set on your host board?
> Normally rio_enum_host() should increment next_destid in your case.
>
> >Another thing is that the agent is now hanging on the discovery process.
>
> Make sure that you have the MASTER bit is set in agent's GCCSR register
> (0xC_013C).
> If your board uses HW config switches to set host/agent mode this bit will
> be 0 for agent.
> For quick test you may keep both boards in the host mode - the current RIO
> implementation relies on "riohdid=" command line parameter instead of HOST
> bit.
>
>
> Alex.
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ozlabs.org/pipermail/linuxppc-dev/attachments/20101013/a9d6c9c1/attachment-0001.html>


More information about the Linuxppc-dev mailing list