Source-Changes-D archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: CVS commit: src/sys/dev/sbus
On Wed, Sep 09, 2009 at 04:00:30AM +0900, Izumi Tsutsui wrote:
> > sbus_establish() should take device_t self for the device itself,
> > not device_t parent even if sbus is grandparent of the device,
> > otherwise (*sd_reset)() callbacks will be called with an wrong device_t.
> > Even in such case, sbus_establish() looks for an sbus though device tree.
> > XXX: (*sd_reset)() isn't called anyway, and these stuff seems really
> > bogus.
>
> > i think you're right. can you just delete all this sbusreset() code?
>
> I wonder why sbus_establish() and struct sbus_dev were implemented.
>
> I guess we can remove sbusreset() and (*sd_reset)() stuff safely,
> but other members in struct sbusdev are used only in
> sbus/if_le.c to see unattached lebuffer (I don't think it worked
> as expected due to the bug mentioned in the log, though), so
> it might be better to remove whole sbus_establish() stuff if possible.
>
> Anyway, I'll leave them for now since they are harmless.
There has to be a load of code somewhere that deals with the lance
errata that causes it to tri-state its output part way through an
sbus master cycle [1]. Get it slightly wrong and the sbus locks.
I've never looked to see if netbsd has the appropraite code!
David
[1] it all goes badly pear-shaped when an sbus master cycle takes exactly 255
clocks. Part of the lance times the cycle out on clock 255, and parts on
clock 256!
--
David Laight: david%l8s.co.uk@localhost
Home |
Main Index |
Thread Index |
Old Index