RE: [PATCH] Revert "drm/amdgpu: drop runtime pm disablement quirk on several sienna cichlid cards"

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Good point. Looks we need to disable BACO entry/exit together, not limited to runtime PM. I will drop this revert and provide a new patch accordingly.

Regards,
Guchun

-----Original Message-----
From: Lazar, Lijo <Lijo.Lazar@xxxxxxx> 
Sent: Wednesday, September 7, 2022 1:58 PM
To: Chen, Guchun <Guchun.Chen@xxxxxxx>; amd-gfx@xxxxxxxxxxxxxxxxxxxxx; Deucher, Alexander <Alexander.Deucher@xxxxxxx>; Zhang, Hawking <Hawking.Zhang@xxxxxxx>; Quan, Evan <Evan.Quan@xxxxxxx>; Feng, Kenneth <Kenneth.Feng@xxxxxxx>
Subject: Re: [PATCH] Revert "drm/amdgpu: drop runtime pm disablement quirk on several sienna cichlid cards"



On 9/7/2022 10:23 AM, Guchun Chen wrote:
> This reverts commit e2994d23d8afa2fb465fdb8cf544b736f67ab8ba.
> 
> Frequent BACO enter/exit will cause EMI failure, so disable runtime PM 
> on these server SKUs.
> 

Apart from this, any BACO entry/exit in quick succession could cause the same failure. If BACO is used for reset in these SKUs, that also may not work.

Thanks,
Lijo

> Signed-off-by: Guchun Chen <guchun.chen@xxxxxxx>
> ---
>   drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c | 13 +++++++++++++
>   1 file changed, 13 insertions(+)
> 
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c 
> b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
> index 1369c25448dc..4f6473faaf24 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
> @@ -43,6 +43,17 @@
>   #include "amdgpu_display.h"
>   #include "amdgpu_ras.h"
>   
> +static void amdgpu_runtime_pm_quirk(struct amdgpu_device *adev) {
> +	/*
> +	 * Add below quirk on several sienna_cichlid cards to disable
> +	 * runtime pm to fix EMI failures.
> +	 */
> +	if (((adev->pdev->device == 0x73A1) && (adev->pdev->revision == 0x00)) ||
> +	    ((adev->pdev->device == 0x73BF) && (adev->pdev->revision == 0xCF)))
> +		adev->pm.rpm_mode = AMDGPU_RUNPM_NONE; }
> +
>   void amdgpu_unregister_gpu_instance(struct amdgpu_device *adev)
>   {
>   	struct amdgpu_gpu_instance *gpu_instance; @@ -176,6 +187,8 @@ int 
> amdgpu_driver_load_kms(struct amdgpu_device *adev, unsigned long flags)
>   			break;
>   		}
>   
> +		amdgpu_runtime_pm_quirk(adev);
> +
>   		if (adev->pm.rpm_mode == AMDGPU_RUNPM_BACO)
>   			dev_info(adev->dev, "Using BACO for runtime pm\n");
>   	}
> 




[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux