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