[PATCH 2/2] drm/amgpu: Check return value of amdgpu_device_baco_enter/exit

Lazar, Lijo lijo.lazar at amd.com
Wed Feb 28 11:58:48 UTC 2024



On 2/28/2024 5:14 PM, Ma Jun wrote:
> Check return value of amdgpu_device_baco_enter/exit and print
> warning message because these errors may cause runtime resume failure
> 
> Signed-off-by: Ma Jun <Jun.Ma2 at amd.com>
> ---
>  drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 8 ++++++--
>  1 file changed, 6 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
> index 8b83c26dc018..11e089cfb465 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
> @@ -2705,7 +2705,9 @@ static int amdgpu_pmops_runtime_suspend(struct device *dev)
>  	} else if (adev->pm.rpm_mode == AMDGPU_RUNPM_BOCO) {
>  		/* nothing to do */
>  	} else if (adev->pm.rpm_mode == AMDGPU_RUNPM_BACO) {
> -		amdgpu_device_baco_enter(drm_dev);
> +		ret = amdgpu_device_baco_enter(drm_dev);
> +		if (ret)
> +			dev_warn(&pdev->dev, "warning: device fails to enter baco. ret=%d\n", ret);
>  	}

If the intention is to print for any baco entry/exit failure, it's
better to put the print inside enter/exit functions itself. Also, since
these are triggered through PMFW, any PMFW fail will be printed. So this
may not be that useful.

Thanks,
Lijo

>  
>  	dev_dbg(&pdev->dev, "asic/device is runtime suspended\n");
> @@ -2745,7 +2747,9 @@ static int amdgpu_pmops_runtime_resume(struct device *dev)
>  		 */
>  		pci_set_master(pdev);
>  	} else if (adev->pm.rpm_mode == AMDGPU_RUNPM_BACO) {
> -		amdgpu_device_baco_exit(drm_dev);
> +		ret = amdgpu_device_baco_exit(drm_dev);
> +		if (ret)
> +			dev_warn(&pdev->dev, "warning: device fails to exit from baco. ret=%d\n", ret);
>  	}
>  	ret = amdgpu_device_resume(drm_dev, false);
>  	if (ret) {


More information about the amd-gfx mailing list