|
@@ -6509,7 +6509,7 @@ 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, true);
|
|
|
+ intel_crtc_update_cursor(crtc, intel_crtc->cursor_bo != NULL);
|
|
|
|
|
|
return 0;
|
|
|
fail_unpin:
|
|
@@ -6528,7 +6528,7 @@ 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, true);
|
|
|
+ intel_crtc_update_cursor(crtc, intel_crtc->cursor_bo != NULL);
|
|
|
|
|
|
return 0;
|
|
|
}
|
|
@@ -7042,6 +7042,8 @@ static void intel_crtc_destroy(struct drm_crtc *crtc)
|
|
|
kfree(work);
|
|
|
}
|
|
|
|
|
|
+ intel_crtc_cursor_set(crtc, NULL, 0, 0, 0);
|
|
|
+
|
|
|
drm_crtc_cleanup(crtc);
|
|
|
|
|
|
kfree(intel_crtc);
|