drm/amd/display: disabling p-state checks for DCN31 and DCN314
authorEmily Nie <Emily.Nie@amd.com>
Wed, 16 Oct 2024 19:52:28 +0000 (15:52 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Fri, 8 Nov 2024 16:45:30 +0000 (11:45 -0500)
[Why]
IGT displays Dmesg warnings which are likely false

[How]
Disabling p-state checks leading to this warning for DCN31 and DCN314

Reviewed-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
Signed-off-by: Emily Nie <Emily.Nie@amd.com>
Signed-off-by: Hamza Mahfooz <hamza.mahfooz@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
drivers/gpu/drm/amd/display/dc/resource/dcn31/dcn31_resource.c
drivers/gpu/drm/amd/display/dc/resource/dcn314/dcn314_resource.c

index a2655eb..11da685 100644 (file)
@@ -1307,6 +1307,29 @@ static int dm_dmub_hw_init(struct amdgpu_device *adev)
        DRM_INFO("DMUB hardware initialized: version=0x%08X\n",
                 adev->dm.dmcub_fw_version);
 
+       /* Keeping sanity checks off if
+        * DCN31 >= 4.0.59.0
+        * DCN314 >= 8.0.16.0
+        * Otherwise, turn on sanity checks
+        */
+       switch (amdgpu_ip_version(adev, DCE_HWIP, 0)) {
+       case IP_VERSION(3, 1, 2):
+       case IP_VERSION(3, 1, 3):
+               if (adev->dm.dmcub_fw_version &&
+                       adev->dm.dmcub_fw_version >= DMUB_FW_VERSION(4, 0, 0) &&
+                       adev->dm.dmcub_fw_version < DMUB_FW_VERSION(4, 0, 59))
+                               adev->dm.dc->debug.sanity_checks = true;
+               break;
+       case IP_VERSION(3, 1, 4):
+               if (adev->dm.dmcub_fw_version &&
+                       adev->dm.dmcub_fw_version >= DMUB_FW_VERSION(4, 0, 0) &&
+                       adev->dm.dmcub_fw_version < DMUB_FW_VERSION(8, 0, 16))
+                               adev->dm.dc->debug.sanity_checks = true;
+               break;
+       default:
+               break;
+       }
+
        return 0;
 }
 
index f71a5b8..c16cf1c 100644 (file)
@@ -868,7 +868,7 @@ static const struct dc_debug_options debug_defaults_drv = {
        .max_downscale_src_width = 4096,/*upto true 4K*/
        .disable_pplib_wm_range = false,
        .scl_reset_length10 = true,
-       .sanity_checks = true,
+       .sanity_checks = false,
        .underflow_assert_delay_us = 0xFFFFFFFF,
        .dwb_fi_phase = -1, // -1 = disable,
        .dmub_command_table = true,
index 8aa10da..c0f48c7 100644 (file)
@@ -888,7 +888,7 @@ static const struct dc_debug_options debug_defaults_drv = {
        .max_downscale_src_width = 4096,/*upto true 4k*/
        .disable_pplib_wm_range = false,
        .scl_reset_length10 = true,
-       .sanity_checks = true,
+       .sanity_checks = false,
        .underflow_assert_delay_us = 0xFFFFFFFF,
        .dwb_fi_phase = -1, // -1 = disable,
        .dmub_command_table = true,