summaryrefslogtreecommitdiff
path: root/certs
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2016-11-04 13:30:01 +0300
committerChris Wilson <chris@chris-wilson.co.uk>2016-11-04 14:55:39 +0300
commit2c3a3f44dc13a7c964e93385e1c1ca848656bed0 (patch)
treedcc94f3bc020903a2aebfb4d56106623741525cb /certs
parenta44342acde304425fa70fd4f06c0e662a79ba5aa (diff)
downloadlinux-2c3a3f44dc13a7c964e93385e1c1ca848656bed0.tar.xz
drm/i915: Fix pages pin counting around swizzle quirk
commit bc0629a76726 ("drm/i915: Track pages pinned due to swizzling quirk") fixed one problem, but revealed a whole lot more. The root cause of the pin count mismatch for the swizzle quirk (for L-shaped memory on gen3/4) was that we were incrementing the pages_pin_count upon getting the backing pages but then overwriting the pages_pin_count to set it to 1 afterwards. With a little bit of adjustment to satisfy the GEM_BUG_ON sanitychecks, the fix is to replace the explicit atomic_set with an atomic_inc. v2: Consistently use atomics (not mix atomics and helpers) within the lowlevel get_pages routines. This makes the atomic operations much clearer. Fixes: 1233e2db199d ("drm/i915: Move object backing storage manipulation") Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Link: http://patchwork.freedesktop.org/patch/msgid/20161104103001.27643-1-chris@chris-wilson.co.uk Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Diffstat (limited to 'certs')
0 files changed, 0 insertions, 0 deletions