[PATCH v2 5/5] drm/amdgpu: Use new mode2 reset interface for RV.

Quan, Evan Evan.Quan at amd.com
Thu Aug 15 01:29:05 UTC 2019


Series is Reviewed-by: Evan Quan <evan.quan at amd.com>

> -----Original Message-----
> From: amd-gfx <amd-gfx-bounces at lists.freedesktop.org> On Behalf Of
> Andrey Grodzovsky
> Sent: Thursday, August 15, 2019 4:40 AM
> To: amd-gfx at lists.freedesktop.org
> Cc: Deucher, Alexander <Alexander.Deucher at amd.com>; Grodzovsky,
> Andrey <Andrey.Grodzovsky at amd.com>; Quan, Evan
> <Evan.Quan at amd.com>; S, Shirish <Shirish.S at amd.com>
> Subject: [PATCH v2 5/5] drm/amdgpu: Use new mode2 reset interface for RV.
> 
> v2:
> Check ppfuncs pointer for NULL
> 
> Signed-off-by: Andrey Grodzovsky <andrey.grodzovsky at amd.com>
> ---
>  drivers/gpu/drm/amd/amdgpu/amdgpu_device.c |  1 +
>  drivers/gpu/drm/amd/amdgpu/soc15.c         | 25 +++++++++++++++++-------
> -
>  2 files changed, 18 insertions(+), 8 deletions(-)
> 
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> index 2752773..02b3e7d 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> @@ -3524,6 +3524,7 @@ bool amdgpu_device_should_recover_gpu(struct
> amdgpu_device *adev)
>  		case CHIP_VEGA20:
>  		case CHIP_VEGA10:
>  		case CHIP_VEGA12:
> +		case CHIP_RAVEN:
>  			break;
>  		default:
>  			goto disabled;
> diff --git a/drivers/gpu/drm/amd/amdgpu/soc15.c
> b/drivers/gpu/drm/amd/amdgpu/soc15.c
> index c2d324d..77e6799 100644
> --- a/drivers/gpu/drm/amd/amdgpu/soc15.c
> +++ b/drivers/gpu/drm/amd/amdgpu/soc15.c
> @@ -508,6 +508,15 @@ static int soc15_asic_baco_reset(struct
> amdgpu_device *adev)
>  	return 0;
>  }
> 
> +static int soc15_mode2_reset(struct amdgpu_device *adev) {
> +	if (!adev->powerplay.pp_funcs ||
> +	    !adev->powerplay.pp_funcs->asic_reset_mode_2)
> +		return -ENOENT;
> +
> +	return
> +adev->powerplay.pp_funcs->asic_reset_mode_2(adev-
> >powerplay.pp_handle);
> +}
> +
>  static enum amd_reset_method
>  soc15_asic_reset_method(struct amdgpu_device *adev)  { @@ -546,14
> +555,14 @@ soc15_asic_reset_method(struct amdgpu_device *adev)
> 
>  static int soc15_asic_reset(struct amdgpu_device *adev)  {
> -	int ret;
> -
> -	if (soc15_asic_reset_method(adev) == AMD_RESET_METHOD_BACO)
> -		ret = soc15_asic_baco_reset(adev);
> -	else
> -		ret = soc15_asic_mode1_reset(adev);
> -
> -	return ret;
> +	switch (soc15_asic_reset_method(adev)) {
> +		case AMD_RESET_METHOD_BACO:
> +			return soc15_asic_baco_reset(adev);
> +		case AMD_RESET_METHOD_MODE2:
> +			return soc15_mode2_reset(adev);
> +		default:
> +			return soc15_asic_mode1_reset(adev);
> +	}
>  }
> 
>  /*static int soc15_set_uvd_clock(struct amdgpu_device *adev, u32 clock,
> --
> 2.7.4
> 
> _______________________________________________
> amd-gfx mailing list
> amd-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx


More information about the amd-gfx mailing list