]> git.baikalelectronics.ru Git - kernel.git/commit
drm/i915: flush system agent TLBs on SNB
authorBen Widawsky <ben@bwidawsk.net>
Sun, 4 Nov 2012 17:21:30 +0000 (09:21 -0800)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Sun, 11 Nov 2012 22:51:44 +0000 (23:51 +0100)
commitb9c6e5b09ff5fcff75d8b3156225aafdc00088a3
tree3a4feddfd1b3f1e8bce1fcb095dc1d243d839e82
parent80533211bd0cecdb760ad7f5d6a3f303ed59b9ba
drm/i915: flush system agent TLBs on SNB

This allows us to map the PTEs WC. I've not done thorough testing or
performance measurements with this patch, but it should be decent.

This is based on a patch from Jesse with the original commit message
> I've only lightly tested this so far, but the corruption seems to be
> gone if I write the GFX_FLSH_CNTL reg after binding an object.  This
> register should control the TLB for the system agent, which is what CPU
> mapped objects will go through.

It has been updated for the new AGP-less code by me, and included with
it is feedback from the original patch.

v2: Updated to reflect paranoia on pte updates/register posting reads.

Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
Reviewed-by [v1]: Jesse Barnes <jbarnes@virtuousgeek.org>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/i915_gem_gtt.c
drivers/gpu/drm/i915/i915_reg.h