Linux MIPS Architecture development
 help / color / mirror / Atom feed
* Au1500 hardware cache coherency
@ 2003-03-31 12:08 Hartvig Ekner
  2003-03-31 14:41 ` Eric DeVolder
  2003-03-31 18:35 ` Pete Popov
  0 siblings, 2 replies; 12+ messages in thread
From: Hartvig Ekner @ 2003-03-31 12:08 UTC (permalink / raw)
  To: Pete Popov, Linux MIPS mailing list

Hi Pete,

I am attempting to use the HW coherency feature of the AU1500 to avoid SW flushes and increase the performance.
In the config-shared.in file, I can see that the CONFIG_NONCOHERENT_IO define is always set for the AMD
eval boards, which results in SW cache flushes when dma_cache_xxx functions are called. If HW coherency is
working, this define should not be set.

However, in your drivers, you only call the dma_cache functions from au1000/common/usbdev.c, but not from e.g. the ethernet
driver or the audio driver. Is this intentional? It seems that the ethernet & audio driver already relies on HW
coherency to function correctly (and it also sets the MAC enable bits accordingly, to force all ETH DMA
accesses to be coherent), so why not USB also?

When turning off NONCOHERENT_IO, there are some bugs (not in AU1000 code) which prevents the code from
compiling, but I have fixed these. And the kernel boots, but during some large disk-copy tests, I get occasional
data errors which I'm looking in to.

So before spending more time on debugging this, and creating patches for using HW coherency, I wanted to hear
your input - maybe there are known problems in the Au1500 coherency implementation?

/Hartvig

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2003-04-02 12:17 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-03-31 12:08 Au1500 hardware cache coherency Hartvig Ekner
2003-03-31 14:41 ` Eric DeVolder
2003-03-31 15:14   ` Hartvig Ekner
2003-03-31 18:06     ` Eric DeVolder
2003-03-31 19:24       ` Hartvig Ekner
2003-03-31 20:33         ` Pete Popov
2003-04-01  7:51           ` Hartvig Ekner
2003-04-01 18:22             ` Pete Popov
2003-04-01 18:23               ` Pete Popov
2003-04-02 12:17               ` Maciej W. Rozycki
2003-03-31 18:35 ` Pete Popov
2003-04-01 11:47   ` Ralf Baechle

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox