From 6e677d4655f309f28683dab68e9f114500c66e10 Mon Sep 17 00:00:00 2001 From: Evan Quan Date: Fri, 20 Mar 2020 14:09:21 -0400 Subject: [PATCH] drm/amdgpu/swSMU: correct the bootup power source for Navi1X (v2) PMFW may boots those ASICs with DC mode. Need to set it back to AC mode. v2: split from Evan's original patch (Alex) Bug: https://gitlab.freedesktop.org/drm/amd/issues/1043 Reviewed-by: Evan Quan Signed-off-by: Evan Quan Signed-off-by: Alex Deucher --- drivers/gpu/drm/amd/powerplay/amdgpu_smu.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/drivers/gpu/drm/amd/powerplay/amdgpu_smu.c b/drivers/gpu/drm/amd/powerplay/amdgpu_smu.c index f6d4b0ef46ad9..2cfb911ab370d 100644 --- a/drivers/gpu/drm/amd/powerplay/amdgpu_smu.c +++ b/drivers/gpu/drm/amd/powerplay/amdgpu_smu.c @@ -1154,6 +1154,21 @@ static int smu_smc_table_hw_init(struct smu_context *smu, } } } + + if (adev->asic_type >= CHIP_NAVI10 && + adev->asic_type <= CHIP_NAVI12) { + /* + * For Navi1X, manually switch it to AC mode as PMFW + * may boot it with DC mode. + * TODO: should check whether we are indeed under AC + * mode before doing this. + */ + ret = smu_set_power_source(smu, SMU_POWER_SOURCE_AC); + if (ret) { + pr_err("Failed to switch to AC mode!\n"); + return ret; + } + } } if (adev->asic_type != CHIP_ARCTURUS) { ret = smu_notify_display_change(smu); -- 2.39.5