Here is a patch to hopefully fix the random hangs that occur with the EPIA board.
There is a comment that says
// Set bit 6 of 0x40, because Award does it (IO recovery time) // IMPORTANT FIX - EISA 0x4d0 decoding must be on so that PCI // interrupts can be properly marked as level triggered.
however somewhere in the translation from V1 to V2 it appears the relevant bit of code was removed or deleted.
Signed-off-by: Ben Hewson ben@hewson-venieri.com
-------------------------------------------------------------------------------------------------------------
I can't say for sure this has fixed the issue. should I get any more hangs though I will post a note. I have a feeling though this may be the cause as hangs seem to mostly occur during heavy IO port access. Mostly in the SMBus routines where inb() is used for a delay.
Ben
and I forgot the patch again
Index: src/southbridge/via/vt8231/vt8231_lpc.c =================================================================== --- src/southbridge/via/vt8231/vt8231_lpc.c (revision 2710) +++ src/southbridge/via/vt8231/vt8231_lpc.c (working copy) @@ -72,6 +72,7 @@ // IMPORTANT FIX - EISA 0x4d0 decoding must be on so that PCI // interrupts can be properly marked as level triggered. enables = pci_read_config8(dev, 0x40); + enables |= 0x44; pci_write_config8(dev, 0x40, enables); // Set 0x42 to 0xf0 to match Award bios
On Mon, Jun 04, 2007 at 07:51:19PM +0100, Ben Hewson wrote:
I can't say for sure this has fixed the issue. should I get any more hangs though I will post a note.
Give it a few days, if no hang let's commit.
//Peter
Peter Stuge wrote:
On Mon, Jun 04, 2007 at 07:51:19PM +0100, Ben Hewson wrote:
I can't say for sure this has fixed the issue. should I get any more hangs though I will post a note.
Give it a few days, if no hang let's commit.
For me this patch is a big improvement, but does not remove hangs entirely. Note that these hangs are only during the very early boot process (RAM detection) and not at later runtime.
-Alex Mauer "hawke"