diff options
| -rw-r--r-- | drivers/gpu/drm/i915/intel_display.c | 9 |
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; |
| 4026 | fail_unpin: | ||
| 4027 | i915_gem_object_unpin(bo); | ||
| 4019 | fail_locked: | 4028 | fail_locked: |
| 4020 | mutex_unlock(&dev->struct_mutex); | 4029 | mutex_unlock(&dev->struct_mutex); |
| 4021 | fail: | 4030 | fail: |
