drm/i915: Don't enable the cursor on a disable pipe
On HSW enabling a plane on a disabled pipe may hang the entire system. And there's no good reason for doing it ever, so just don't. v2: Move the crtc active checks to intel_crtc_cursor_{set,move} to avoid confusing people during modeset Cc: stable@vger.kernel.org Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Tested-by: Paulo Zanoni <paulo.r.zanoni@intel.com> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
This commit is contained in:
parent
cc173961a6
commit
f2f5f771c5
@ -6929,7 +6929,8 @@ static int intel_crtc_cursor_set(struct drm_crtc *crtc,
|
||||
intel_crtc->cursor_width = width;
|
||||
intel_crtc->cursor_height = height;
|
||||
|
||||
intel_crtc_update_cursor(crtc, intel_crtc->cursor_bo != NULL);
|
||||
if (intel_crtc->active)
|
||||
intel_crtc_update_cursor(crtc, intel_crtc->cursor_bo != NULL);
|
||||
|
||||
return 0;
|
||||
fail_unpin:
|
||||
@ -6948,7 +6949,8 @@ static int intel_crtc_cursor_move(struct drm_crtc *crtc, int x, int y)
|
||||
intel_crtc->cursor_x = x;
|
||||
intel_crtc->cursor_y = y;
|
||||
|
||||
intel_crtc_update_cursor(crtc, intel_crtc->cursor_bo != NULL);
|
||||
if (intel_crtc->active)
|
||||
intel_crtc_update_cursor(crtc, intel_crtc->cursor_bo != NULL);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user