Segher Boessenkool writes: > > > So is it wrong to leave the host controller enabled when the OS is booted? > > Yes. Or, rather, there should be some way for the client to turn off > all dma and interrupt activity; if the client closes the ihandles in > "/chosen", and perhaps calls "quiesce", that should be enough.
Sounds good to me, I only wish someone had written down what "quiesce" means. > > > > Almost all of my devices are under that PCI node. What will I prove by > > disabling them? > > You should put it after "load", and before "go". > > It should give you a working system; it's a sledgehammer workaround. I can do it a little more gracefully than that. This works to deactivate the problem devices manually: 1 lbflip 80000000 8 + rl! 1 lbflip 80001000 8 + rl! where 80000000 and 80001000 have been obtained from /p...@80000000/u...@5/assigned-addresses and /p...@80000000/u...@5,1/assigned-addresses; 8 is the offset of the HcCommandStatus register; and the 1 bit is HostControllerReset (HCR). Now I'm just trying to find the more correct way of doing it, without hardcoded addresses. That'll be something like this: search the device tree for OHCI nodes for each OHCI node get assigned-addresses map-in set HCR wait for acknowledgement map-out which can be done any time before the quiesce call, since that marks the point where the kernel assumes that there are no devices writing to memory. Sound good? -- Alan Curry _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev