aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/i915')
-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 88a1ab7c05ce..04e1bb499ff8 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -3973,6 +3973,13 @@ static int intel_crtc_cursor_set(struct drm_crtc *crtc,
3973 DRM_ERROR("failed to pin cursor bo\n"); 3973 DRM_ERROR("failed to pin cursor bo\n");
3974 goto fail_locked; 3974 goto fail_locked;
3975 } 3975 }
3976
3977 ret = i915_gem_object_set_to_gtt_domain(bo, 0);
3978 if (ret) {
3979 DRM_ERROR("failed to move cursor bo into the GTT\n");
3980 goto fail_unpin;
3981 }
3982
3976 addr = obj_priv->gtt_offset; 3983 addr = obj_priv->gtt_offset;
3977 } else { 3984 } else {
3978 ret = i915_gem_attach_phys_object(dev, bo, (pipe == 0) ? I915_GEM_PHYS_CURSOR_0 : I915_GEM_PHYS_CURSOR_1); 3985 ret = i915_gem_attach_phys_object(dev, bo, (pipe == 0) ? I915_GEM_PHYS_CURSOR_0 : I915_GEM_PHYS_CURSOR_1);
@@ -4016,6 +4023,8 @@ static int intel_crtc_cursor_set(struct drm_crtc *crtc,
4016 intel_crtc->cursor_bo = bo; 4023 intel_crtc->cursor_bo = bo;
4017 4024
4018 return 0; 4025 return 0;
4026fail_unpin:
4027 i915_gem_object_unpin(bo);
4019fail_locked: 4028fail_locked:
4020 mutex_unlock(&dev->struct_mutex); 4029 mutex_unlock(&dev->struct_mutex);
4021fail: 4030fail: