RE: [PATCH] Revert "drm/amdgpu: drop runtime pm disablement quirk on several sienna cichlid cards"
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 Sent: Wednesday, September 7, 2022 1:58 PM To: Chen, Guchun ; amd-gfx@lists.freedesktop.org; Deucher, Alexander ; Zhang, Hawking ; Quan, Evan ; Feng, Kenneth 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 > --- > 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"); > } >
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 --- 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"); }
RE: [PATCH] Revert "drm/amdgpu: drop runtime pm disablement quirk on several sienna cichlid cards"
[AMD Official Use Only - General] Reviewed-by: Evan Quan > -Original Message- > From: Chen, Guchun > Sent: Wednesday, September 7, 2022 12:53 PM > To: amd-gfx@lists.freedesktop.org; Deucher, Alexander > ; Zhang, Hawking > ; Lazar, Lijo ; Quan, Evan > ; Feng, Kenneth > Cc: Chen, Guchun > Subject: [PATCH] Revert "drm/amdgpu: drop runtime pm disablement quirk > on several sienna cichlid cards" > > This reverts commit e2994d23d8afa2fb465fdb8cf544b736f67ab8ba. > > Frequent BACO enter/exit will cause EMI failure, so disable runtime PM > on these server SKUs. > > Signed-off-by: Guchun Chen > --- > 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"); > } > -- > 2.25.1