Re: IDE DMA on AXP & barriers

Jay Estabrook (Jay.Estabrook@compaq.com)
Fri, 7 Dec 2001 13:50:31 -0500


On Fri, Dec 07, 2001 at 06:02:14PM +0100, Kurt Garloff wrote:
>
> > > How do I recognize the broken PYXIS in software? (Except for waiting for
> > > your hard disk to be corrupted?)
> >
> > Put the chip into PCI loopback mode, read some memory (crossing the
> > page boundary) via direct PCI window and check for corruption -
> > perhaps this will work.
>
> I guess the manual will tell me how to do that ...

You might be able to adapt/add to Richard's code that probes CIA/PYXIS
to determine if workarounds (for other things :-) are needed.

> That's why I'm looking for something better ...
> But on a generic kernel, we have to do a number of things, then:
> * Detect PYXIS
> * Set into PCI loopback
> * Do the cross 8k DMA read
> * Set flag if corruption
>
> (And even this test is not completely perfect, as only devices on the
> primary PCI bus seem to be affected.)

Correct; if you put the problematic card/driver behind the bridge on
MIATA (ie one of the 32-bit slots), the problems go away. No such luck
on LX/SX, but they may have HW workarounds already implemented.

> > Jay, your opinion? Perhaps you have the info which systems are affected?
>
> ... and how they can be identified.

"Identification" may need to be done via "probe and see"... :-\

IIRC, there was only ever one rev of PYXIS, which has a number of
problems.

The first MIATAs went out with (nearly) no fixes, except for the
console cruft to prevent "unknown" cards from being placed in the
64-bit slots (unkown cards == unknown drivers == possibly susceptible
to the 8K boundary DMA error).

LX and SX introduced off-chip PYXIS fixes, which fixed at least the
8K boundary DMA problem, and some others, but NOT all, most notably
the PCI READ prefetch.

Late MIATAs, aka MIATA-GL, have off-chip logic that fix ALL the PYXIS
problems, AFAIK. These are distinguished from the earlier model by the
presence of a QLogic ISP-1040C(?) SCSI chip built into the motherboard.

--Jay++

-----------------------------------------------------------------------------
Jay A Estabrook Alpha Engineering - LINUX Project
Compaq Computer Corp. - MRO1-2/K15 (508) 467-2080
200 Forest Street, Marlboro MA 01752 Jay.Estabrook@compaq.com
-----------------------------------------------------------------------------
-
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/