Re: [PATCH] x86: provide a DMI based port 0x80 I/O delay override.

From: H. Peter Anvin
Date: Mon Jan 07 2008 - 14:48:25 EST


Bodo Eggert wrote:
Christer Weinigel <christer@xxxxxxxxxxx> wrote:

How do you find out the speed of the ISA bus? AFAIK there is no
standardized way to do that. On the Geode SC2200 the ISA bus speed is
usually the PCI clock divided by 4 giving 33MHz/4=8.3MHz or
30/4=7.5MHz, but with no external ISA devices it's possible to
overclock the ISA bus to /3 to run it at 11MHz or so. But without
poking at some CPU and southbridge specific registers to find out the
PCI bus speed and the ISA bus divisor you can't really tell.

If you overclock, you are on your own. IIRC I've used 13,3 MHz for some time
and used a lower PIO mode to compensate.

So if you do udelay based on a 6MHz clock (I think you can safely
assume that any 386 based system runs the ISA bus at least that fast)
you'll waste at least 30% and maybe even 100% more time for the delay
after every _p call.

Defaulting to 8 MHz and offering an option to set another clock speed
(like idebus=) should be OK.


The formalization of the ISA bus which was part of the EISA specification settled on 8.33 MHz maximum nominal frequency. There were, however, some earlier designs which used up to 12 MHz nominal; I'm not sure if that applied to 386s though.

-hpa
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/