piix4 fails to reset? (ticket #1078)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [Linux Kernel]     [Linux Hardware Monitoring]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux