[PATCH v2] drm/amdgpu: resove reboot exception for si oland
lizhenneng
lizhenneng at kylinos.cn
Wed Mar 15 06:05:40 UTC 2023
On 2023/3/14 下午5:27, Chen, Guchun wrote:
> [AMD Official Use Only - General]
>
>> -----Original Message-----
>> From: Lazar, Lijo <Lijo.Lazar at amd.com>
>> Sent: Tuesday, March 14, 2023 5:07 PM
>> To: Chen, Guchun <Guchun.Chen at amd.com>; Zhenneng Li
>> <lizhenneng at kylinos.cn>
>> Cc: David Airlie <airlied at linux.ie>; Pan, Xinhui <Xinhui.Pan at amd.com>;
>> amd-gfx at lists.freedesktop.org; Daniel Vetter <daniel at ffwll.ch>; Deucher,
>> Alexander <Alexander.Deucher at amd.com>; Koenig, Christian
>> <Christian.Koenig at amd.com>
>> Subject: RE: [PATCH v2] drm/amdgpu: resove reboot exception for si oland
>>
>> [AMD Official Use Only - General]
>>
>> Hi Guchun,
>>
>> This patch doesn't look correct. Without dpm enabled, temperature range
>> shouldn't be set at all. The patch posted by Zhenneng is good enough or
>> better to skip late init altogether as it remains an empty function with that
>> patch.
> My intention is to prevent setting temperature range again in late_init, as in hw_init prior to late_init, we have configured this range and set dpm_enabled to true already. Also this is a draft patch:)
>
> Leaving a NULL function in late_init looks good to me.
To be consistent with previous code style, such as:
static bool si_dpm_is_idle(void *handle)
{
/* XXX */
return true;
}
static int si_dpm_wait_for_idle(void *handle)
{
/* XXX */
return 0;
}
static int si_dpm_soft_reset(void *handle)
{
return 0;
}
static int si_dpm_set_clockgating_state(void *handle,
enum amd_clockgating_state state)
{
return 0;
}
static int si_dpm_set_powergating_state(void *handle,
enum amd_powergating_state state)
{
return 0;
}
We could use "return 0".
>
> Regards,
> Guchun
>> Thanks,
>> Lijo
>>
>> -----Original Message-----
>> From: amd-gfx <amd-gfx-bounces at lists.freedesktop.org> On Behalf Of Chen,
>> Guchun
>> Sent: Tuesday, March 14, 2023 6:35 AM
>> To: Zhenneng Li <lizhenneng at kylinos.cn>
>> Cc: David Airlie <airlied at linux.ie>; Pan, Xinhui <Xinhui.Pan at amd.com>;
>> amd-gfx at lists.freedesktop.org; Daniel Vetter <daniel at ffwll.ch>; Deucher,
>> Alexander <Alexander.Deucher at amd.com>; Koenig, Christian
>> <Christian.Koenig at amd.com>
>> Subject: RE: [PATCH v2] drm/amdgpu: resove reboot exception for si oland
>>
>> Will attached patch help?
>>
>> Regards,
>> Guchun
>>
>>> -----Original Message-----
>>> From: Zhenneng Li <lizhenneng at kylinos.cn>
>>> Sent: Monday, March 13, 2023 10:57 AM
>>> To: Chen, Guchun <Guchun.Chen at amd.com>
>>> Cc: Deucher, Alexander <Alexander.Deucher at amd.com>; Koenig, Christian
>>> <Christian.Koenig at amd.com>; Pan, Xinhui <Xinhui.Pan at amd.com>; David
>>> Airlie <airlied at linux.ie>; Daniel Vetter <daniel at ffwll.ch>; amd-
>>> gfx at lists.freedesktop.org; Zhenneng Li <lizhenneng at kylinos.cn>
>>> Subject: [PATCH v2] drm/amdgpu: resove reboot exception for si oland
>>>
>>> During reboot test on arm64 platform, it may failure on boot.
>>>
>>> The error message are as follows:
>>> [ 6.996395][ 7] [ T295] [drm:amdgpu_device_ip_late_init [amdgpu]]
>>> *ERROR*
>>> late_init of IP block <si_dpm> failed -22
>>> [ 7.006919][ 7] [ T295] amdgpu 0000:04:00.0:
>> amdgpu_device_ip_late_init
>>> failed
>>> [ 7.014224][ 7] [ T295] amdgpu 0000:04:00.0: Fatal error during GPU init
>>> ---
>>> drivers/gpu/drm/amd/pm/legacy-dpm/si_dpm.c | 12 ------------
>>> 1 file changed, 12 deletions(-)
>>>
>>> diff --git a/drivers/gpu/drm/amd/pm/legacy-dpm/si_dpm.c
>>> b/drivers/gpu/drm/amd/pm/legacy-dpm/si_dpm.c
>>> index d6d9e3b1b2c0..ca9bce895dbe 100644
>>> --- a/drivers/gpu/drm/amd/pm/legacy-dpm/si_dpm.c
>>> +++ b/drivers/gpu/drm/amd/pm/legacy-dpm/si_dpm.c
>>> @@ -7626,18 +7626,6 @@ static int si_dpm_process_interrupt(struct
>>> amdgpu_device *adev,
>>>
>>> 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;
>>> }
>>>
>>> --
>>> 2.25.1
More information about the amd-gfx
mailing list