drm/amd/display: add debug logs for dm_crtc_helper_atomic_check
Instead of silently failing the atomic check, explain what happened via a debug log. This makes it easier for user-space to figure out why something failed. Signed-off-by: Simon Ser <contact@emersion.fr> Cc: Alex Deucher <alexander.deucher@amd.com> Cc: Harry Wentland <hwentlan@amd.com> Cc: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
@@ -6071,8 +6071,10 @@ static int dm_crtc_helper_atomic_check(struct drm_crtc *crtc,
|
|||||||
* userspace which stops using the HW cursor altogether in response to the resulting EINVAL.
|
* userspace which stops using the HW cursor altogether in response to the resulting EINVAL.
|
||||||
*/
|
*/
|
||||||
if (crtc_state->enable &&
|
if (crtc_state->enable &&
|
||||||
!(crtc_state->plane_mask & drm_plane_mask(crtc->primary)))
|
!(crtc_state->plane_mask & drm_plane_mask(crtc->primary))) {
|
||||||
|
DRM_DEBUG_ATOMIC("Can't enable a CRTC without enabling the primary plane\n");
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
}
|
||||||
|
|
||||||
/* In some use cases, like reset, no stream is attached */
|
/* In some use cases, like reset, no stream is attached */
|
||||||
if (!dm_crtc_state->stream)
|
if (!dm_crtc_state->stream)
|
||||||
@@ -6081,6 +6083,7 @@ static int dm_crtc_helper_atomic_check(struct drm_crtc *crtc,
|
|||||||
if (dc_validate_stream(dc, dm_crtc_state->stream) == DC_OK)
|
if (dc_validate_stream(dc, dm_crtc_state->stream) == DC_OK)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
DRM_DEBUG_ATOMIC("Failed DC stream validation\n");
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user