drm/amd/display: Show the DCN/DCE version in the log

Some times people send their dmesg log for debugging, and one common
task is to check the modesetting line to catch which DCN/DCE we need to
debug. This commit introduces a simple conversion from the DCN/DCE
version to a string shown in the dmesg log.

Reviewed-by: Hamza Mahfooz <Hamza.Mahfooz@amd.com>
Acked-by: Alex Hung <alex.hung@amd.com>
Signed-off-by: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
Rodrigo Siqueira 2023-04-25 14:42:29 -06:00 committed by Alex Deucher
parent 9e72813f69
commit bf7fda0b37
3 changed files with 60 additions and 1 deletions

View file

@ -1667,7 +1667,8 @@ static int amdgpu_dm_init(struct amdgpu_device *adev)
adev->dm.dc = dc_create(&init_data);
if (adev->dm.dc) {
DRM_INFO("Display Core initialized with v%s!\n", DC_VER);
DRM_INFO("Display Core initialized with v%s! %s\n", DC_VER,
dce_version_to_string(adev->dm.dc->ctx->dce_version));
} else {
DRM_INFO("Display Core failed to initialize with v%s!\n", DC_VER);
goto error;

View file

@ -690,3 +690,59 @@ void reg_sequence_wait_done(const struct dc_context *ctx)
dc_dmub_srv_wait_idle(ctx->dmub_srv);
}
}
char *dce_version_to_string(const int version)
{
switch (version) {
case DCE_VERSION_8_0:
return "DCE 8.0";
case DCE_VERSION_8_1:
return "DCE 8.1";
case DCE_VERSION_8_3:
return "DCE 8.3";
case DCE_VERSION_10_0:
return "DCE 10.0";
case DCE_VERSION_11_0:
return "DCE 11.0";
case DCE_VERSION_11_2:
return "DCE 11.2";
case DCE_VERSION_11_22:
return "DCE 11.22";
case DCE_VERSION_12_0:
return "DCE 12.0";
case DCE_VERSION_12_1:
return "DCE 12.1";
case DCN_VERSION_1_0:
return "DCN 1.0";
case DCN_VERSION_1_01:
return "DCN 1.0.1";
case DCN_VERSION_2_0:
return "DCN 2.0";
case DCN_VERSION_2_1:
return "DCN 2.1";
case DCN_VERSION_2_01:
return "DCN 2.0.1";
case DCN_VERSION_3_0:
return "DCN 3.0";
case DCN_VERSION_3_01:
return "DCN 3.0.1";
case DCN_VERSION_3_02:
return "DCN 3.0.2";
case DCN_VERSION_3_03:
return "DCN 3.0.3";
case DCN_VERSION_3_1:
return "DCN 3.1";
case DCN_VERSION_3_14:
return "DCN 3.1.4";
case DCN_VERSION_3_15:
return "DCN 3.1.5";
case DCN_VERSION_3_16:
return "DCN 3.1.6";
case DCN_VERSION_3_2:
return "DCN 3.2";
case DCN_VERSION_3_21:
return "DCN 3.2.1";
default:
return "Unknown";
}
}

View file

@ -292,4 +292,6 @@ void dm_dtn_log_append_v(struct dc_context *ctx,
void dm_dtn_log_end(struct dc_context *ctx,
struct dc_log_buffer_ctx *log_ctx);
char *dce_version_to_string(const int version);
#endif /* __DM_SERVICES_H__ */