]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/amd/display: dpia should avoid encoder used by dp2
authorPeichen Huang <PeiChen.Huang@amd.com>
Tue, 4 Feb 2025 08:00:40 +0000 (16:00 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 19 Feb 2025 20:14:24 +0000 (15:14 -0500)
[WHY]
In current HPO DP2 implementation, driver would enable/disable DIG
encoder when configuring HPO DP2. Therefore, usb4 dp tunnelling should
not use the DIG encoder if the corresponded phy is used by a HPO DP2
stream.

[HOW]
A DP2 stream is treated as a dig stream.

Reviewed-by: Meenakshikumar Somasundaram <meenakshikumar.somasundaram@amd.com>
Signed-off-by: Peichen Huang <PeiChen.Huang@amd.com>
Signed-off-by: Roman Li <roman.li@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_link_enc_cfg.c

index 08b4258b0e2f87b162468cb9f28e112a9f96408c..814f68d76257aba9a3a85c033024579807d24d68 100644 (file)
@@ -44,20 +44,8 @@ static bool is_dig_link_enc_stream(struct dc_stream_state *stream)
                         * yet match.
                         */
                        if (link_enc && ((uint32_t)stream->link->connector_signal & link_enc->output_signals)) {
-                               if (dc_is_dp_signal(stream->signal)) {
-                                       /* DIGs do not support DP2.0 streams with 128b/132b encoding. */
-                                       struct dc_link_settings link_settings = {0};
-
-                                       stream->ctx->dc->link_srv->dp_decide_link_settings(stream, &link_settings);
-                                       if ((link_settings.link_rate >= LINK_RATE_LOW) &&
-                                                       link_settings.link_rate <= LINK_RATE_HIGH3) {
-                                               is_dig_stream = true;
-                                               break;
-                                       }
-                               } else {
-                                       is_dig_stream = true;
-                                       break;
-                               }
+                               is_dig_stream = true;
+                               break;
                        }
                }
        }