]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/commitdiff
amdgpu/pm: Prevent force of DCEFCLK on NAVI10 and SIENNA_CICHLID
authorDarren Powell <darren.powell@amd.com>
Wed, 7 Apr 2021 04:34:35 +0000 (00:34 -0400)
committerStefan Bader <stefan.bader@canonical.com>
Wed, 30 Jun 2021 06:26:50 +0000 (08:26 +0200)
BugLink: https://bugs.launchpad.net/bugs/1931896
[ Upstream commit b117b3964f38a988cb79825950dbd607c02237f3 ]

Writing to dcefclk causes the gpu to become unresponsive, and requires a reboot.
Patch ignores a .force_clk_levels(SMU_DCEFCLK) call and issues an
info message.

Signed-off-by: Darren Powell <darren.powell@amd.com>
Reviewed-by: Kenneth Feng <kenneth.feng@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
Signed-off-by: Kelsey Skunberg <kelsey.skunberg@canonical.com>
drivers/gpu/drm/amd/pm/swsmu/smu11/navi10_ppt.c
drivers/gpu/drm/amd/pm/swsmu/smu11/sienna_cichlid_ppt.c

index cd7efa923195e3fa2a94414adf096fbfc1eccd0b..ab702e1cd9f0690f19df656522b5b3ae6e1a8b9e 100644 (file)
@@ -1110,7 +1110,6 @@ static int navi10_force_clk_levels(struct smu_context *smu,
        case SMU_SOCCLK:
        case SMU_MCLK:
        case SMU_UCLK:
-       case SMU_DCEFCLK:
        case SMU_FCLK:
                /* There is only 2 levels for fine grained DPM */
                if (navi10_is_support_fine_grained_dpm(smu, clk_type)) {
@@ -1130,6 +1129,10 @@ static int navi10_force_clk_levels(struct smu_context *smu,
                if (ret)
                        return size;
                break;
+       case SMU_DCEFCLK:
+               dev_info(smu->adev->dev,"Setting DCEFCLK min/max dpm level is not supported!\n");
+               break;
+
        default:
                break;
        }
index d68d3dfee51d47c0c92c364c4495c332c7e37439..aa231336d9f0bd283067df08ed08c5b76468a5a3 100644 (file)
@@ -1025,7 +1025,6 @@ static int sienna_cichlid_force_clk_levels(struct smu_context *smu,
        case SMU_SOCCLK:
        case SMU_MCLK:
        case SMU_UCLK:
-       case SMU_DCEFCLK:
        case SMU_FCLK:
                /* There is only 2 levels for fine grained DPM */
                if (sienna_cichlid_is_support_fine_grained_dpm(smu, clk_type)) {
@@ -1045,6 +1044,9 @@ static int sienna_cichlid_force_clk_levels(struct smu_context *smu,
                if (ret)
                        goto forec_level_out;
                break;
+       case SMU_DCEFCLK:
+               dev_info(smu->adev->dev,"Setting DCEFCLK min/max dpm level is not supported!\n");
+               break;
        default:
                break;
        }