FAILED: Patch "Revert "drm/amd/pm: fix the high voltage and temperature issue"" failed to apply to 6.8-stable tree
Sasha Levin
maintainerThe patch below does not apply to the 6.8-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
Thanks,
Sasha
------------------ original commit in Linus's tree ------------------
From 7055c5856aa10a7f2d687557c50751a72080e4c8 Mon Sep 17 00:00:00 2001
From: Mario Limonciello <[email protected]>
Date: Fri, 19 Jan 2024 03:08:37 -0600
Subject: [PATCH] Revert "drm/amd/pm: fix the high voltage and temperature
issue"
This reverts commit 5f38ac54e60562323ea4abb1bfb37d043ee23357. This causes issues with rebooting and the 7800XT.
Cc Kenneth Feng <[email protected]>
Fixes 5f38ac54e605 ("drm/amd/pm: fix the high voltage and temperature issue")
Signed-off-by Mario Limonciello <[email protected]>
Acked-by Alex Deucher <[email protected]>
Signed-off-by Alex Deucher <[email protected]>
--- drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 24 ++++---------- drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c | 33 ++----------------- drivers/gpu/drm/amd/pm/swsmu/inc/amdgpu_smu.h | 1 - .../drm/amd/pm/swsmu/smu13/smu_v13_0_0_ppt.c | 8 +---- .../drm/amd/pm/swsmu/smu13/smu_v13_0_7_ppt.c | 8 +---- 5 files changed, 11 insertions(+), 63 deletions(-)
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c +7 -17
@@ -4140,23 +4140,13 @@ int amdgpu_device_init(struct amdgpu_device *adev, } } }else { -switch (amdgpu_ip_version (adev,MP1_HWIP ,0 )) { -case IP_VERSION (13 ,0 ,0 ): -case IP_VERSION (13 ,0 ,7 ): -case IP_VERSION (13 ,0 ,10 ): - r =psp_gpu_reset (adev); -break ; -default : - tmp = amdgpu_reset_method; -/* It should do a default reset when loading or reloading the driver, -* regardless of the module parameter reset_method. -*/ - amdgpu_reset_method =AMD_RESET_METHOD_NONE ; - r =amdgpu_asic_reset (adev); - amdgpu_reset_method = tmp; -break ; - } - + tmp = amdgpu_reset_method; +/* It should do a default reset when loading or reloading the driver, +* regardless of the module parameter reset_method. +*/ + amdgpu_reset_method =AMD_RESET_METHOD_NONE ; + r =amdgpu_asic_reset (adev); + amdgpu_reset_method = tmp;if (r) {dev_err (adev->dev,"asic reset on init failed\n" ); goto failed;
drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c +2 -31
@@ -734,7 +734,7 @@ static int smu_early_init(void *handle) smu->adev = adev; smu->pm_enabled = !!amdgpu_dpm; smu->is_apu = false; - smu->smu_baco.state =SMU_BACO_STATE_NONE ; + smu->smu_baco.state =SMU_BACO_STATE_EXIT ; smu->smu_baco.platform_support = false; smu->user_dpm_profile.fan_mode =-1 ;
@@ -1954,31 +1954,10 @@ static int smu_smc_hw_cleanup(struct smu_context *smu)return 0 ; } -static int smu_reset_mp1_state (struct smu_context *smu) -{ -struct amdgpu_device *adev = smu->adev; -int ret =0 ; - -if ((!adev->in_runpm) && (!adev->in_suspend) && - (!amdgpu_in_reset (adev))) -switch (amdgpu_ip_version (adev,MP1_HWIP ,0 )) { -case IP_VERSION (13 ,0 ,0 ): -case IP_VERSION (13 ,0 ,7 ): -case IP_VERSION (13 ,0 ,10 ): - ret =smu_set_mp1_state (smu,PP_MP1_STATE_UNLOAD ); -break ; -default : -break ; - } - -return ret; -} -static int smu_hw_fini (void *handle) {struct amdgpu_device *adev = (struct amdgpu_device *)handle;struct smu_context *smu = adev->powerplay.pp_handle; -int ret;if (amdgpu_sriov_vf (adev) && !amdgpu_sriov_is_pp_one_vf (adev))return 0 ;
@@ -1996,15 +1975,7 @@ static int smu_hw_fini(void *handle) adev->pm.dpm_enabled = false; - ret =smu_smc_hw_cleanup (smu); -if (ret) -return ret; - - ret =smu_reset_mp1_state (smu); -if (ret) -return ret; - -return 0 ; +return smu_smc_hw_cleanup (smu); }static void smu_late_fini (void *handle)
drivers/gpu/drm/amd/pm/swsmu/inc/amdgpu_smu.h +0 -1
@@ -424,7 +424,6 @@ enum smu_reset_mode {enum smu_baco_state {SMU_BACO_STATE_ENTER =0 ,SMU_BACO_STATE_EXIT , -SMU_BACO_STATE_NONE , };struct smu_baco_context {
drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_0_ppt.c +1 -7
@@ -2749,13 +2749,7 @@ static int smu_v13_0_0_set_mp1_state(struct smu_context *smu,switch (mp1_state) {case PP_MP1_STATE_UNLOAD : - ret =smu_cmn_send_smc_msg_with_param (smu, - SMU_MSG_PrepareMp1ForUnload, -0x55 ,NULL ); - -if (!ret && smu->smu_baco.state ==SMU_BACO_STATE_EXIT ) - ret =smu_v13_0_disable_pmfw_state (smu); - + ret =smu_cmn_set_mp1_state (smu, mp1_state);break ;default :/* Ignore others */
drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_7_ppt.c +1 -7
@@ -2505,13 +2505,7 @@ static int smu_v13_0_7_set_mp1_state(struct smu_context *smu,switch (mp1_state) {case PP_MP1_STATE_UNLOAD : - ret =smu_cmn_send_smc_msg_with_param (smu, - SMU_MSG_PrepareMp1ForUnload, -0x55 ,NULL ); - -if (!ret && smu->smu_baco.state ==SMU_BACO_STATE_EXIT ) - ret =smu_v13_0_disable_pmfw_state (smu); - + ret =smu_cmn_set_mp1_state (smu, mp1_state);break ;default :/* Ignore others */
Signature · 1 line
2.43.0