DMA weirdness

From: Jonathan Brauer (brauer@texmemsys.com)
Date: Fri Sep 08 2000 - 16:31:53 EST


I have a device driver which is experiancing problems doing DMAs.

I am running 2.4.0-test6 #6 SMP. The system is a dual 600MHz on a SuperMicro
PIIIDME, i840 chipset, with 256MBs of memory. My device is configured to do a
128KB DMA out of a kernel buffer. After sucessfully reading 4k of memory, the
data appears to be invalid. I have checked the kernel buffer before and after
the DMA, and it appears to contain valid data. A logic analyzer on the PCI bus
though shows incorrect data coming from the bridge chip on the Read Multiple.
It appears on both 32 and 64 bit slots.

Because this does not immediately appear to be a driver problem I had wondered
if it might be a problem related to PCI control or memory mapping since it
occurs on a page boundary. Transfers occur several thousand times from this
memory location before this event occurs, but the event is *highly*
reproducable.

I was wondering if anyone else had any ideas or had experianced the same
problem. TIA.

Jonathan Brauer

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



This archive was generated by hypermail 2b29 : Fri Sep 15 2000 - 21:00:11 EST