From: Alex Deucher Date: Wed, 11 May 2022 21:31:27 +0000 (-0400) Subject: drm/amdgpu/soc21: add mode2 asic reset for SMU IP v13.0.4 X-Git-Tag: v6.1-rc5~617^2~17^2~210 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=ea64228d26fee9b766bc9615e92a319da5ef94ef;p=platform%2Fkernel%2Flinux-starfive.git drm/amdgpu/soc21: add mode2 asic reset for SMU IP v13.0.4 Set the default reset method to mode2 for SMU IP v13.0.4 Acked-by: Evan Quan Reviewed-by: Tim Huang Signed-off-by: Tim Huang Signed-off-by: Alex Deucher --- diff --git a/drivers/gpu/drm/amd/amdgpu/soc21.c b/drivers/gpu/drm/amd/amdgpu/soc21.c index 09efef5..57eaafb 100644 --- a/drivers/gpu/drm/amd/amdgpu/soc21.c +++ b/drivers/gpu/drm/amd/amdgpu/soc21.c @@ -310,6 +310,7 @@ static enum amd_reset_method soc21_asic_reset_method(struct amdgpu_device *adev) { if (amdgpu_reset_method == AMD_RESET_METHOD_MODE1 || + amdgpu_reset_method == AMD_RESET_METHOD_MODE2 || amdgpu_reset_method == AMD_RESET_METHOD_BACO) return amdgpu_reset_method; @@ -320,6 +321,8 @@ soc21_asic_reset_method(struct amdgpu_device *adev) switch (adev->ip_versions[MP1_HWIP][0]) { case IP_VERSION(13, 0, 0): return AMD_RESET_METHOD_MODE1; + case IP_VERSION(13, 0, 4): + return AMD_RESET_METHOD_MODE2; default: if (amdgpu_dpm_is_baco_supported(adev)) return AMD_RESET_METHOD_BACO; @@ -341,6 +344,10 @@ static int soc21_asic_reset(struct amdgpu_device *adev) dev_info(adev->dev, "BACO reset\n"); ret = amdgpu_dpm_baco_reset(adev); break; + case AMD_RESET_METHOD_MODE2: + dev_info(adev->dev, "MODE2 reset\n"); + ret = amdgpu_dpm_mode2_reset(adev); + break; default: dev_info(adev->dev, "MODE1 reset\n"); ret = amdgpu_device_mode1_reset(adev);