]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/amd/display: Skip backend validation for virtual monitors
authorChiawen Huang <chiawen.huang@amd.com>
Fri, 25 Apr 2025 03:45:36 +0000 (11:45 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Fri, 16 May 2025 17:38:44 +0000 (13:38 -0400)
[Why&How]
Virtual monitors are now being validated during set_mode.
Virtual monitors should not undergo backend validation,
as the backend is intended only for physical monitors.
Virtual sinks have no real backend part information and
should be excluded from this validation.

Reviewed-by: Aric Cyr <aric.cyr@amd.com>
Signed-off-by: Chiawen Huang <chiawen.huang@amd.com>
Signed-off-by: Tom Chung <chiahsuan.chung@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/dc/core/dc.c

index 608aa2d7d0861583a4b7a0dcaa996f1fd48c16d3..56d011a1323cfde0827016aa33846839afb6c762 100644 (file)
@@ -2334,11 +2334,15 @@ enum dc_status dc_commit_streams(struct dc *dc, struct dc_commit_streams_params
        for (i = 0; i < params->stream_count; i++) {
                struct dc_stream_state *stream = params->streams[i];
                struct dc_stream_status *status = dc_stream_get_status(stream);
+               struct dc_sink *sink = stream->sink;
 
                /* revalidate streams */
-               res = dc_validate_stream(dc, stream);
-               if (res != DC_OK)
-                       return res;
+               if (!dc_is_virtual_signal(sink->sink_signal)) {
+                       res = dc_validate_stream(dc, stream);
+                       if (res != DC_OK)
+                               return res;
+               }
+
 
                dc_stream_log(dc, stream);