From: Evan Quan Date: Fri, 20 Mar 2020 18:09:21 +0000 (-0400) Subject: drm/amdgpu/swSMU: correct the bootup power source for Navi1X (v2) X-Git-Tag: v5.15~4077^2~12^2~5 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=66c2f5db1fbdc987d23149082720bcbe46f41aa2;p=platform%2Fkernel%2Flinux-starfive.git 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 --- diff --git a/drivers/gpu/drm/amd/powerplay/amdgpu_smu.c b/drivers/gpu/drm/amd/powerplay/amdgpu_smu.c index f6d4b0ef46ad..2cfb911ab370 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);