]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commitdiff
drm/amd/display: Enable ASSR in DM
authorStylon Wang <stylon.wang@amd.com>
Tue, 23 Feb 2021 10:32:09 +0000 (18:32 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 24 Feb 2021 14:28:55 +0000 (09:28 -0500)
This patch enables ASSR if display declares such support in DPCD.

Signed-off-by: Stylon Wang <stylon.wang@amd.com>
Reviewed-by: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c

index c1391bfb7a9bc58de9460bc778e2f4fac0120318..099f43709060d2d3601e084421c376b95e0f9419 100644 (file)
@@ -1669,6 +1669,22 @@ bool perform_link_training_with_retries(
                        msleep(delay_dp_power_up_in_ms);
                }
 
+#ifdef CONFIG_DRM_AMD_DC_HDCP
+               if (panel_mode == DP_PANEL_MODE_EDP) {
+                       struct cp_psp *cp_psp = &stream->ctx->cp_psp;
+
+                       if (cp_psp && cp_psp->funcs.enable_assr) {
+                               if (!cp_psp->funcs.enable_assr(cp_psp->handle, link)) {
+                                       /* since eDP implies ASSR on, change panel
+                                        * mode to disable ASSR
+                                        */
+                                       panel_mode = DP_PANEL_MODE_DEFAULT;
+                               }
+                       } else
+                               panel_mode = DP_PANEL_MODE_DEFAULT;
+               }
+#endif
+
                dp_set_panel_mode(link, panel_mode);
 
                if (link->aux_access_disabled) {