]> www.infradead.org Git - users/hch/misc.git/commitdiff
drm/amd/display: Enable DTM v3 on dGPUs with DCN 3.1+
authorIvan Lipski <ivan.lipski@amd.com>
Tue, 9 Sep 2025 18:15:05 +0000 (14:15 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 23 Sep 2025 14:27:24 +0000 (10:27 -0400)
[Why&How]
Right now, only selected APUs have enabled DTM v3, which allows to use
newer firmware for content protection.

We want to enable it on the dGPUs starting with DCN 3.2

Reviewed-by: Aurabindo Pillai <aurabindo.pillai@amd.com>
Signed-off-by: Ivan Lipski <ivan.lipski@amd.com>
Tested-by: Dan Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_hdcp.c

index 58e084f525266c5f6e4c194ab220f0daf68f7dc4..19038f336155320042c8228bed8c5ccf79e5420b 100644 (file)
@@ -768,14 +768,18 @@ struct hdcp_workqueue *hdcp_create_workqueue(struct amdgpu_device *adev,
                struct mod_hdcp_ddc_funcs *ddc_funcs = &config->ddc.funcs;
 
                config->psp.handle = &adev->psp;
-               if (dc->ctx->dce_version == DCN_VERSION_3_1 ||
+               if (dc->ctx->dce_version == DCN_VERSION_3_1  ||
                    dc->ctx->dce_version == DCN_VERSION_3_14 ||
                    dc->ctx->dce_version == DCN_VERSION_3_15 ||
-                   dc->ctx->dce_version == DCN_VERSION_3_5 ||
+                   dc->ctx->dce_version == DCN_VERSION_3_16 ||
+                   dc->ctx->dce_version == DCN_VERSION_3_2  ||
+                   dc->ctx->dce_version == DCN_VERSION_3_21 ||
+                   dc->ctx->dce_version == DCN_VERSION_3_5  ||
                    dc->ctx->dce_version == DCN_VERSION_3_51 ||
-                   dc->ctx->dce_version == DCN_VERSION_3_6 ||
-                   dc->ctx->dce_version == DCN_VERSION_3_16)
+                   dc->ctx->dce_version == DCN_VERSION_3_6  ||
+                   dc->ctx->dce_version == DCN_VERSION_4_01)
                        config->psp.caps.dtm_v3_supported = 1;
+
                config->ddc.handle = dc_get_link_at_index(dc, i);
 
                ddc_funcs->write_i2c = lp_write_i2c;