[coreboot] [PATCH] fix hd8me early-boot 50 sec stallout
Myles Watson
mylesgw at gmail.com
Fri May 14 21:13:49 CEST 2010
On Fri, May 14, 2010 at 10:45 AM, Joe Korty <joe.korty at ccur.com> wrote:
> Fix the SuperMicro H8DME-2 early-boot 50 sec stall.
>
> Somewhere between r5491 and r5496, a change occured which
> added some 30-50 seconds to the boot time of a Supermicro
> H8DME-2. This rises by an additional 30-50 seconds if
> the boot sequence decides it needs to reset-restart.
>
> The problem was traced to a printk which was enabled
> somewhere between those two svn revisions. Apparently this
> printk appears too early in the boot sequence to function
> correctly.
It's possible that someone was confused because there are two
invocations of enable_smbus in romstage.c
Do you need both?
>
> This patch again comments out the printk, but this
> time around, adds an explanation, to encourage future
> maintainers to keep it commented out.
>
> Please apply.
I think we could commit this, but while you're thinking about it maybe
we should fix it a little more.
I think it would make sense to return from the function and set a post
code when the SMBus controller is not found, instead of calling the
write functions with an invalid device.
Thanks,
Myles
> Index: trunk/src/southbridge/nvidia/mcp55/mcp55_early_smbus.c
> ===================================================================
> --- trunk.orig/src/southbridge/nvidia/mcp55/mcp55_early_smbus.c 2010-05-14 08:37:35.000000000 -0400
> +++ trunk/src/southbridge/nvidia/mcp55/mcp55_early_smbus.c 2010-05-14 08:39:06.000000000 -0400
> @@ -32,11 +32,14 @@
> device_t dev;
> dev = pci_locate_device(PCI_ID(0x10de, 0x0368), 0);
>
> +#if 0
> + /* for the h8dme, at least, this is too early for a printk */
> if (dev == PCI_DEV_INVALID) {
post code & return here, with no else.
> } else {
> printk(BIOS_DEBUG, "SMBus controller enabled\n");
> }
> +#endif
>
> /* set smbus iobase */
> pci_write_config32(dev, 0x20, SMBUS0_IO_BASE | 1);
>
> --
> coreboot mailing list: coreboot at coreboot.org
> http://www.coreboot.org/mailman/listinfo/coreboot
>
More information about the coreboot
mailing list