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

From: Ingo Molnar
Date: Tue Jan 01 2008 - 11:50:34 EST



* Alan Cox <alan@xxxxxxxxxxxxxxxxxxx> wrote:

> Ingo - the fact that so many ISA bus devices need _p to mean "ISA bus
> clocks" says to me we should keep the _p port 0x80 using variant for
> old systems/device combinations (eg ISA ethernet cards) which won't
> show up in any problem system (we know this from 15 odd years of
> testing), but stop using it for PCI and embedded devices on modern
> systems.

yes, ISA is fragile, and no way do we want to remove the delay, but are
there strong counter-arguments against doing the clean thing and adding
an udelay(2) (or udelay(1)) to replace those _p() uses in ISA drivers?
That removes the global effect once and forever. Initially for
standalone drivers without early bootup functionality, not platform
drivers that might need to run before we have calibrated udelay.

if someone runs a fresh new kernel on an ancient device then timings
_will_ change a bit, no matter what we do. Alignments change, the
compiler output will change (old compilers get deprecated so a new
compiler might have to be picked), cache effects change - and this is
inevitable. The important thing is to not eliminate the delays - but we
sure dont have to keep them cycle accurate (we couldnt even if we wanted
to). The only way to get the _exact same_ behavior is to not change the
kernel at all.

Ingo
--
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/