Source-Changes archive

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

CVS commit: syssrc/sys/dev



Module Name:    syssrc
Committed By:   thorpej
Date:           Thu Apr  4 23:15:45 UTC 2002

Modified Files:
        syssrc/sys/dev/ic: i82557.c
        syssrc/sys/dev/pci: if_fxp_pci.c

Log Message:
Address Intel 82801BA/82801BAM Specification Update, Errata #30:

The ICH on-board Ethernet and some i82559 chips have a bug which
will cause a PCI protocol violation if the chip receives a CU_RESUME
command as it is entering the IDLE state by deasserting #CLKRUN.
(This is the so-called "resume bug" that we previously had an incomplete
work-around for on ICH chipsets.)

The work-around is to disable Dynamic Standby Mode, such that the
chip will never deasert #CLKRUN.  Dynamic Standby Mode is disabled
by clearing a bit in the EEPROM and updating the EEPROM (and EEPROM
checksum).

Unfortunately, the chip will only consult the EEPROM setting after
a PCI bus reset, so a system reboot is required once the EEPROM
has been updated (the EEPROM update only needs to happen once,
and the driver usses a warning instructing the user to reboot the
system once the work-around has been applied).

Issue pointed out by David Brownlee, and code more-or-less lifted
from FreeBSD.


To generate a diff of this commit:
cvs rdiff -r1.62 -r1.63 syssrc/sys/dev/ic/i82557.c
cvs rdiff -r1.21 -r1.22 syssrc/sys/dev/pci/if_fxp_pci.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.




Home | Main Index | Thread Index | Old Index