summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/intel_overlay.c
diff options
context:
space:
mode:
authorChris Wilson2011-04-14 10:41:17 +0200
committerKeith Packard2011-06-10 06:51:19 +0200
commit2da3b9b940e2a18147422c54ed8b29d01e1ade88 (patch)
treeafffe23550ffcc446e70559c4f75cd1f308cca33 /drivers/gpu/drm/i915/intel_overlay.c
parentdrm/i915: Mark the cursor and the overlay as being part of the display planes (diff)
downloadkernel-qcow2-linux-2da3b9b940e2a18147422c54ed8b29d01e1ade88.tar.gz
kernel-qcow2-linux-2da3b9b940e2a18147422c54ed8b29d01e1ade88.tar.xz
kernel-qcow2-linux-2da3b9b940e2a18147422c54ed8b29d01e1ade88.zip
drm/i915: Combine pinning with setting to the display plane
We need to perform a few operations in order to move the object into the display plane (where it can be accessed coherently by the display engine) that are important for future safety to forbid whilst pinned. As a result, we want to need to perform some of the operations before pinning, but some are required once we have been bound into the GTT. So combine the pinning performed by all the callers with set_to_display_plane(), so this complication is contained within the single function. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'drivers/gpu/drm/i915/intel_overlay.c')
-rw-r--r--drivers/gpu/drm/i915/intel_overlay.c6
1 files changed, 1 insertions, 5 deletions
diff --git a/drivers/gpu/drm/i915/intel_overlay.c b/drivers/gpu/drm/i915/intel_overlay.c
index e0903c5f0ca2..fcf6fcb0b482 100644
--- a/drivers/gpu/drm/i915/intel_overlay.c
+++ b/drivers/gpu/drm/i915/intel_overlay.c
@@ -773,14 +773,10 @@ 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, true);
+ ret = i915_gem_object_pin_to_display_plane(new_bo, 0, NULL);
if (ret != 0)
return ret;
- ret = i915_gem_object_set_to_display_plane(new_bo, NULL);
- if (ret != 0)
- goto out_unpin;
-
ret = i915_gem_object_put_fence(new_bo);
if (ret)
goto out_unpin;