Make sure there's an underlying pipe that can be used for the cursor. Signed-off-by: Simon Ser <contact@xxxxxxxxxxx> Cc: Alex Deucher <alexander.deucher@xxxxxxx> Cc: Harry Wentland <hwentlan@xxxxxxx> Cc: Nicholas Kazlauskas <nicholas.kazlauskas@xxxxxxx> --- drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c index acbe1537e7cf..a5d6010405bf 100644 --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c @@ -9226,9 +9226,14 @@ static int dm_check_crtc_cursor(struct drm_atomic_state *state, } new_cursor_state = drm_atomic_get_new_plane_state(state, crtc->cursor); - if (!new_cursor_state || !new_underlying_state || !new_cursor_state->fb) + if (!new_cursor_state || !new_cursor_state->fb) return 0; + if (!new_underlying_state || !new_underlying_state->fb) { + drm_dbg_atomic(crtc->dev, "Cursor plane can't be enabled without underlying plane\n"); + return -EINVAL; + } + cursor_scale_w = new_cursor_state->crtc_w * 1000 / (new_cursor_state->src_w >> 16); cursor_scale_h = new_cursor_state->crtc_h * 1000 / -- 2.30.1 _______________________________________________ amd-gfx mailing list amd-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/amd-gfx