From: Evan Quan Date: Wed, 12 Feb 2020 03:52:20 +0000 (+0800) Subject: drm/amd/powerplay: correct the way for checking SMU_FEATURE_BACO_BIT support X-Git-Tag: v5.7-rc1~136^2~17^2~91 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=c16904b0f305c5f6bc31de118d4b1e60a5da5408;p=users%2Fjedix%2Flinux-maple.git drm/amd/powerplay: correct the way for checking SMU_FEATURE_BACO_BIT support Since 'smu_feature_is_enabled(smu, SMU_FEATURE_BACO_BIT)' will always return false considering the 'smu_system_features_control(smu, false)' disabled all SMU features. Signed-off-by: Evan Quan Reviewed-by: Kenneth Feng Signed-off-by: Alex Deucher --- diff --git a/drivers/gpu/drm/amd/powerplay/amdgpu_smu.c b/drivers/gpu/drm/amd/powerplay/amdgpu_smu.c index 4720aa58a150b..9f2428fd98f65 100644 --- a/drivers/gpu/drm/amd/powerplay/amdgpu_smu.c +++ b/drivers/gpu/drm/amd/powerplay/amdgpu_smu.c @@ -1488,7 +1488,18 @@ static int smu_disable_dpm(struct smu_context *smu) /* For baco, need to leave BACO feature enabled */ if (use_baco) { - if (smu_feature_is_enabled(smu, SMU_FEATURE_BACO_BIT)) { + /* + * Correct the way for checking whether SMU_FEATURE_BACO_BIT + * is supported. + * + * Since 'smu_feature_is_enabled(smu, SMU_FEATURE_BACO_BIT)' will + * always return false as the 'smu_system_features_control(smu, false)' + * was just issued above which disabled all SMU features. + * + * Thus 'smu_feature_get_index(smu, SMU_FEATURE_BACO_BIT)' is used + * now for the checking. + */ + if (smu_feature_get_index(smu, SMU_FEATURE_BACO_BIT) >= 0) { ret = smu_feature_set_enabled(smu, SMU_FEATURE_BACO_BIT, true); if (ret) { pr_warn("set BACO feature enabled failed, return %d\n", ret);