people have been complaining about piix4 bus hangs forever. If you have an idea about fixing it then if you post or check in a patch there's lots of folks with piix4's that could test it, at lest to see that it didn't break anything... I have a piix4 board, I think Phil does too Ky?sti M?lkki wrote: > > On Thu, 19 Dec 2002, Joe Drew wrote: > > > On Thu, 2002-12-19 at 15:05, Joe Drew wrote: > > > >From a module compiled with debug information: > > > > > > i2c-piix4.o: Transaction (pre): CNT=00, CMD=19, ADD=78, DAT0=25, DAT1=00 > > > i2c-piix4.o: SMBus busy (01). Resetting... > > > i2c-piix4.o: Failed! (01) > > > > > > It seems like the i2c bus is stuck, or the piix4 is in a pooched state. > > > Why would this be, and what can I do about it? > > > > I should have said, rather, "Why did this happen, and what can I do to > > prevent it in the future?" We've the knowledge to hack the drivers here, > > but we just don't know enough about SMBus to know what the problem > > probably is. > > Had a quick look at PIIX4 specs and source. > > IMO reset sequence is incorrect. The host busy flag is not > write-resettable, one should use KILL flag in control register. > > As the busy status appears in the beginning of transaction, this could > be ACPI system accessing monitor data. In this case we should not touch > any status flags and maybe retry after 10ms. > > I think "Bus collision" equals loosing in SDA arbitration cycle, so > another master completes the transmission. I do not agree the note about > clock stopping and slave stuck in mid-transmission. > > No PIIX here for testing.. > > -- > Ky?sti M?lkki > kmalkki at cc.hut.fi