[PATCH] drm/amdgpu: Fix oops when pp_funcs->switch_power_profile is unset

Christian König ckoenig.leichtzumerken at gmail.com
Mon Nov 19 08:48:50 UTC 2018


Am 15.11.18 um 22:56 schrieb Kuehling, Felix:
> On Vega20 and other pre-production GPUs, powerplay is not enabled yet.
> Check for NULL pointers before calling pp_funcs function pointers.
>
> Also affects Kaveri.
>
> CC: Joerg Roedel <jroedel at suse.de>
> Signed-off-by: Felix Kuehling <Felix.Kuehling at amd.com>

Acked-by: Christian König <christian.koenig at amd.com>

> ---
>   drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c | 7 +++++--
>   1 file changed, 5 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c
> index a9c7597..1c1fed6 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c
> @@ -503,8 +503,11 @@ void amdgpu_amdkfd_set_compute_idle(struct kgd_dev *kgd, bool idle)
>   {
>   	struct amdgpu_device *adev = (struct amdgpu_device *)kgd;
>   
> -	amdgpu_dpm_switch_power_profile(adev,
> -					PP_SMC_POWER_PROFILE_COMPUTE, !idle);
> +	if (adev->powerplay.pp_funcs &&
> +	    adev->powerplay.pp_funcs->switch_power_profile)
> +		amdgpu_dpm_switch_power_profile(adev,
> +						PP_SMC_POWER_PROFILE_COMPUTE,
> +						!idle);
>   }
>   
>   bool amdgpu_amdkfd_is_kfd_vmid(struct amdgpu_device *adev, u32 vmid)



More information about the amd-gfx mailing list