lkml.org 
[lkml]   [2004]   [Jan]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: HPT372 DMA corruption
On Fri, Jan 09, 2004 at 03:24:28PM -0500, Richard B. Johnson wrote:
[cmp -l bad good]
> > 89260029 0 31
> > 89260030 0 327
> > 89260031 0 200
> > 89260032 0 13
>
> Since whole bytes are not written, this looks strangely like
> an attempt to DMA to cached RAM! Since the CPU didn't write

I tested this by reading with O_DIRECT, and immediately after each read(),
read all of a 1MB array (my cache is only 256kB), and then checking the
data. The same corruption occurs.

Via had a DMA corruption bug a couple years ago with similar symptoms,
apparently with the VT82C686B southbridge. Mine is a VT82C586B (which some
people also reported problems with). My board dates long after these
problems were discovered, so I sure hope it's not the same bug. I'll try
upgrading my BIOS to the latest version in case Soyo's changelog is not
entirely honest.

I did learn some more about the pattern of corruption. The data is not
being written to memory - the "bad" data is whatever happened to be there
before. It usually happens in 4, but sometimes 64 or 32 byte chunks.

When I read from the device with O_DIRECT, the corruption only appears at the
very end of the read. I've confirmed this for reads of 512 bytes through 256k
at multiples of 512 bytes.

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

\
 
 \ /
  Last update: 2005-03-22 14:00    [W:0.042 / U:0.440 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site