drm, agpgart: Use pgprot_writecombine for AGP maps and make the MTRR optional
authorAndy Lutomirski <luto@amacapital.net>
Mon, 13 May 2013 23:58:43 +0000 (23:58 +0000)
committerDave Airlie <airlied@redhat.com>
Fri, 31 May 2013 03:37:31 +0000 (13:37 +1000)
commitf435046d38af631920b299455db9e95dfc06d055
tree34ed84a701acbb024af166e553743901f0b29cc1
parentff47eaf24d01b5753e4964b10c606e0d711b143e
drm, agpgart: Use pgprot_writecombine for AGP maps and make the MTRR optional

I'm not sure I understand the intent of the previous behavior.  mmap
on /dev/agpgart and DRM_AGP maps had no cache flags set, so they
would be fully cacheable.  But the DRM code (most of the time) would
add a write-combining MTRR that would change the effective memory
type to WC.

The new behavior just requests WC explicitly for all AGP maps.

If there is any code out there that expects cacheable access to the
AGP aperture (because the drm driver doesn't request an MTRR or
because it's using /dev/agpgart directly), then it will now end up
with a UC or WC mapping, depending on the architecture and PAT
availability.  But cacheable access to the aperture seems like it's
asking for trouble, because, AIUI, the aperture is an alias of RAM.

Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Andy Lutomirski <luto@amacapital.net>
Signed-off-by: Dave Airlie <airlied@redhat.com>
drivers/char/agp/frontend.c
drivers/gpu/drm/drm_pci.c
drivers/gpu/drm/drm_stub.c
drivers/gpu/drm/drm_vm.c