Bastiaan Nijkamp <bastiaan.nijk...@gmail.com> wrote: >> 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. >
In this case I would expect to see ID=1 assigned to the endpoint. I will take a look based on your use scenario. Let me know if you find the source of problem before I get back to you about this issue. >> 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? One of my recent patches handles the MASTER bit. It is in -mm tree now. In the case that you have seen, the agent does not enter endless loop - it just has request that cannot leave the SRIO controller. As result that request cannot be timed out and hangs the processor (no machine check). Alex. _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev