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 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; |
| 4031 | fail_unpin: | ||
| 4032 | i915_gem_object_unpin(bo); | ||
| 4024 | fail_locked: | 4033 | fail_locked: |
| 4025 | mutex_unlock(&dev->struct_mutex); | 4034 | mutex_unlock(&dev->struct_mutex); |
| 4026 | fail: | 4035 | fail: |
