mirror of
https://github.com/raspberrypi/linux.git
synced 2025-12-06 10:00:17 +00:00
drm/amd/pm: resolve reboot exception for si oland
During reboot test on arm64 platform, it may failure on boot. The error message are as follows: [ 1.706570][ 3] [ T273] [drm:si_thermal_enable_alert [amdgpu]] *ERROR* Could not enable thermal interrupts. [ 1.716547][ 3] [ T273] [drm:amdgpu_device_ip_late_init [amdgpu]] *ERROR* late_init of IP block <si_dpm> failed -22 [ 1.727064][ 3] [ T273] amdgpu 0000:02:00.0: amdgpu_device_ip_late_init failed [ 1.734367][ 3] [ T273] amdgpu 0000:02:00.0: Fatal error during GPU init v2: squash in built warning fix (Alex) Signed-off-by: Zhenneng Li <lizhenneng@kylinos.cn> Reviewed-by: Guchun Chen <guchun.chen@amd.com> Signed-off-by: Guchun Chen <guchun.chen@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Cc: stable@vger.kernel.org
This commit is contained in:
committed by
Alex Deucher
parent
bc3e1d60f9
commit
e490d60a2f
@@ -6925,23 +6925,6 @@ static int si_dpm_enable(struct amdgpu_device *adev)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int si_set_temperature_range(struct amdgpu_device *adev)
|
|
||||||
{
|
|
||||||
int ret;
|
|
||||||
|
|
||||||
ret = si_thermal_enable_alert(adev, false);
|
|
||||||
if (ret)
|
|
||||||
return ret;
|
|
||||||
ret = si_thermal_set_temperature_range(adev, R600_TEMP_RANGE_MIN, R600_TEMP_RANGE_MAX);
|
|
||||||
if (ret)
|
|
||||||
return ret;
|
|
||||||
ret = si_thermal_enable_alert(adev, true);
|
|
||||||
if (ret)
|
|
||||||
return ret;
|
|
||||||
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void si_dpm_disable(struct amdgpu_device *adev)
|
static void si_dpm_disable(struct amdgpu_device *adev)
|
||||||
{
|
{
|
||||||
struct rv7xx_power_info *pi = rv770_get_pi(adev);
|
struct rv7xx_power_info *pi = rv770_get_pi(adev);
|
||||||
@@ -7626,18 +7609,6 @@ static int si_dpm_process_interrupt(struct amdgpu_device *adev,
|
|||||||
|
|
||||||
static int si_dpm_late_init(void *handle)
|
static int si_dpm_late_init(void *handle)
|
||||||
{
|
{
|
||||||
int ret;
|
|
||||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
|
||||||
|
|
||||||
if (!adev->pm.dpm_enabled)
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
ret = si_set_temperature_range(adev);
|
|
||||||
if (ret)
|
|
||||||
return ret;
|
|
||||||
#if 0 //TODO ?
|
|
||||||
si_dpm_powergate_uvd(adev, true);
|
|
||||||
#endif
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user