]> git.baikalelectronics.ru Git - kernel.git/commit
drm/i915: Fix pte updates in ggtt clear range
authorBen Widawsky <ben@bwidawsk.net>
Tue, 27 Nov 2012 05:52:54 +0000 (21:52 -0800)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Thu, 29 Nov 2012 10:14:44 +0000 (11:14 +0100)
commita3ee4a0833cbde282c089edf0e3bc15b7d7969a2
treef2d45a27305cedd498819034f96fbcf06d1c111d
parent017b4c2769d55b9f778eb8236f3275994de9b846
drm/i915: Fix pte updates in ggtt clear range

This bug was introduced by me:
commit 9c763fc2d48d2cc1b53900adf66b0082f133cd9b
Author: Ben Widawsky <ben@bwidawsk.net>
Date:   Sun Nov 4 09:21:27 2012 -0800

    drm/i915: Stop using AGP layer for GEN6+

The existing code uses memset_io which follows memset semantics in only
guaranteeing a write of individual bytes. Since a PTE entry is 4 bytes,
this can only be correct if the scratch page address is 0.

This caused unsightly errors when we clear the range at load time,
though I'm not really sure what the heck is referencing that memory
anyway. I caught this is because I believe we have some other bug where
the display is doing reads of memory we feel should be cleared (or we
are relying on scratch pages to be a specific value).

Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
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