drm/i915: range-restricted bind_to_gtt
Like before add a parameter mappable (also to gem_object_pin) and set it depending upon the context. Only bos that are brought into the gtt due to an execbuffer call can be put into the unmappable part of the gtt, everything else (especially pinned objects) need to be put into the mappable part of the gtt. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
This commit is contained in:
committed by
Chris Wilson
parent
a6e0aa4214
commit
920afa77ce
@@ -781,7 +781,7 @@ static int intel_overlay_do_put_image(struct intel_overlay *overlay,
|
||||
if (ret != 0)
|
||||
return ret;
|
||||
|
||||
ret = i915_gem_object_pin(new_bo, PAGE_SIZE);
|
||||
ret = i915_gem_object_pin(new_bo, PAGE_SIZE, true);
|
||||
if (ret != 0)
|
||||
return ret;
|
||||
|
||||
@@ -1423,7 +1423,7 @@ void intel_setup_overlay(struct drm_device *dev)
|
||||
}
|
||||
overlay->flip_addr = overlay->reg_bo->phys_obj->handle->busaddr;
|
||||
} else {
|
||||
ret = i915_gem_object_pin(reg_bo, PAGE_SIZE);
|
||||
ret = i915_gem_object_pin(reg_bo, PAGE_SIZE, true);
|
||||
if (ret) {
|
||||
DRM_ERROR("failed to pin overlay register bo\n");
|
||||
goto out_free_bo;
|
||||
|
Reference in New Issue
Block a user