aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/gpu/drm/i915/intel_display.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index b40155fe5122..a8d65b7cb72a 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -3978,6 +3978,13 @@ static int intel_crtc_cursor_set(struct drm_crtc *crtc,
3978 DRM_ERROR("failed to pin cursor bo\n"); 3978 DRM_ERROR("failed to pin cursor bo\n");
3979 goto fail_locked; 3979 goto fail_locked;
3980 } 3980 }
3981
3982 ret = i915_gem_object_set_to_gtt_domain(bo, 0);
3983 if (ret) {
3984 DRM_ERROR("failed to move cursor bo into the GTT\n");
3985 goto fail_unpin;
3986 }
3987
3981 addr = obj_priv->gtt_offset; 3988 addr = obj_priv->gtt_offset;
3982 } else { 3989 } else {
3983 ret = i915_gem_attach_phys_object(dev, bo, (pipe == 0) ? I915_GEM_PHYS_CURSOR_0 : I915_GEM_PHYS_CURSOR_1); 3990 ret = i915_gem_attach_phys_object(dev, bo, (pipe == 0) ? I915_GEM_PHYS_CURSOR_0 : I915_GEM_PHYS_CURSOR_1);
@@ -4021,6 +4028,8 @@ static int intel_crtc_cursor_set(struct drm_crtc *crtc,
4021 intel_crtc->cursor_bo = bo; 4028 intel_crtc->cursor_bo = bo;
4022 4029
4023 return 0; 4030 return 0;
4031fail_unpin:
4032 i915_gem_object_unpin(bo);
4024fail_locked: 4033fail_locked:
4025 mutex_unlock(&dev->struct_mutex); 4034 mutex_unlock(&dev->struct_mutex);
4026fail: 4035fail: