From f97654833adc12d9ebcceff633755e2dc9939158 Mon Sep 17 00:00:00 2001 From: Corey Osgood Date: Sun, 1 Aug 2010 17:20:20 +0000 Subject: Clarify a comment on an old hack, remove the call to early_mtrr_init that causes CAR to hang, provide more debugging output wrt memory size, and correct the numbering on the ram init sequence. Signed-off-by: Corey Osgood Acked-by: Stefan Reinauer git-svn-id: svn://svn.coreboot.org/coreboot/trunk@5677 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1 --- src/southbridge/via/vt8237r/vt8237r_early_smbus.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src/southbridge') diff --git a/src/southbridge/via/vt8237r/vt8237r_early_smbus.c b/src/southbridge/via/vt8237r/vt8237r_early_smbus.c index 0523092b11..357ad819c0 100644 --- a/src/southbridge/via/vt8237r/vt8237r_early_smbus.c +++ b/src/southbridge/via/vt8237r/vt8237r_early_smbus.c @@ -61,8 +61,10 @@ static void smbus_wait_until_ready(void) PRINT_DEBUG("Waiting until SMBus ready\n"); - /* Yes, this is a mess, but it's the easiest way to do it. */ - /* XXX not so messy, but an explanation of the hack would have been better */ + /* Loop up to SMBUS_TIMEOUT times, waiting for bit 0 of the + * SMBus Host Status register to go to 0, indicating the operation + * was completed successfully. I don't remember why I did it this way, + * but I think it was because ROMCC was running low on registers */ loops = 0; while ((inb(SMBHSTSTAT) & 1) == 1 && loops < SMBUS_TIMEOUT) ++loops; -- cgit v1.2.3