Re: Linux 2.4.21-pre3-ac4

Benjamin Herrenschmidt (benh@kernel.crashing.org)
21 Jan 2003 18:07:15 +0100


On Tue, 2003-01-21 at 00:31, Alan Cox wrote:
> On Tue, 2003-01-14 at 17:38, Benjamin Herrenschmidt wrote:
> > > Fatal on PIIX PIO
> >
> > Ok, but PIIX runs on intel platforms with real IOs, so there is no need
> > to perform a read... If we go the hwif->IOSYNC() way, we might well set
> > it up to no-op on x86 PIO iops by default and read of alt-status on
> > other archs if it's safe enough on other controllers/drives...
>
> PIIX is also found on MIPS, IA-64 and some other platforms. I also fear
> that bug may be far from unique

Then we may want to have the actual implementation of the default iops
IOSYNC() for PIO & MMIO be arch specific. I would suggest nothing for
PIO on x86 and at least and mb() on others. For MMIO, then, we have the
choice of reading the alt status, or reading the dma_base if any.

Of course these are defaults, I expect controllers like ide-pmac to
implement their own IOSYNC.

That means that we must _both_ call IOSYNC and do the 400ns delay (I
don't trust reading alt status to be enough, especially on MMIO based
controlers, also, on ide-pmac, I plan to go read some other register
instead).

What do you think ?

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