Re: Athlon/AGP issue update

David S. Miller
2002-01-23T10:19:53Z

This means that the fix belongs in the DRM drivers, specifically
DRM(mmap_dma) should clear the cacheability bits in the
vma->vm_page_prot at mmap time.

I always thought the idea was that the AGP device accessed main memory
through GART with full cache coherency with the processor. This
should be pretty easy to implement since the PCI controller has to do
this already.

I'm really surprised that both the NVIDIA driver and DRM both get this
wrong.

Actually, the AMD guys say this:

This situation is fundamentally illegal because GART is non-coherent and
all translations that the processor could use to access the AGP memory
must, therefore, be non-cacheable. Although we have seen no intentional
access to the AGP memory by the processor via the 4MB cacheable
translation we have seen legitimate, speculative, accesses performed by
the processor.

"access by the processor" to the 4MB cacheable translation or
somewhere else? This needs clarification.

Disabling 4MB translations has zero effect on the problem they say is
the root all of this. The mappings given to the OpenGL driver to the
GART memory is still going to be cacheable, thus the problem ought to
still exist.

As usual, AMD's commentary brings more questions than it answers.