From: Chiawen Huang <chiawen.hu...@amd.com>

[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....@amd.com>
Signed-off-by: Chiawen Huang <chiawen.hu...@amd.com>
Signed-off-by: Tom Chung <chiahsuan.ch...@amd.com>
---
 drivers/gpu/drm/amd/display/dc/core/dc.c | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/amd/display/dc/core/dc.c 
b/drivers/gpu/drm/amd/display/dc/core/dc.c
index 608aa2d7d086..56d011a1323c 100644
--- a/drivers/gpu/drm/amd/display/dc/core/dc.c
+++ b/drivers/gpu/drm/amd/display/dc/core/dc.c
@@ -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);
 
-- 
2.34.1

Reply via email to