OSDN Git Service

drm/i915: Dont clear PIN_GLOBAL in the execbuf pinning fallback
authorDaniel Vetter <daniel.vetter@ffwll.ch>
Tue, 14 Apr 2015 17:01:54 +0000 (19:01 +0200)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Mon, 20 Apr 2015 15:59:50 +0000 (08:59 -0700)
commit0229da324d23de67fa4af585b4ef134f721adc84
tree7dba2e33525593c13af7e8b8e3638c3377a8a29b
parentf329f5f6eb4fad8f2e9c62fe37ec01ae5ce0f212
drm/i915: Dont clear PIN_GLOBAL in the execbuf pinning fallback

PIN_GLOBAL is set only when userspace asked for it, and that
is only the case for the gen6 PIPE_CONTROL workaround. We're not
allowed to just clear this.

The important part of the fallback is to drop the restriction to
the mappable range.

This issue has been introduced in

commit edf4427b8055dc93eb5222d8174b07a75ba24fb5
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Wed Jan 14 11:20:56 2015 +0000

    drm/i915: Fallback to using CPU relocations for large batch buffers

v2: Chris pointed out that we also miss to set PIN_GLOBAL when the
buffer is already bound. Fix this up too.

Cc: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/i915_gem_execbuffer.c