Re: [PATCH] drm/amdgpu: fix a potential GPU hang on cyan skillfish

2022-01-28 Thread Huang Rui
On Fri, Jan 28, 2022 at 06:43:23PM +0800, Yu, Lang wrote:
> We observed a GPU hang when querying GMC CG state(i.e.,
> cat amdgpu_pm_info) on cyan skillfish. Acctually, cyan
> skillfish doesn't support any CG features.
> 
> Just prevent cyan skillfish from accessing GMC CG registers.
> 
> Signed-off-by: Lang Yu 

Reviewed-by: Huang Rui 

> ---
>  drivers/gpu/drm/amd/amdgpu/gmc_v10_0.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/drivers/gpu/drm/amd/amdgpu/gmc_v10_0.c 
> b/drivers/gpu/drm/amd/amdgpu/gmc_v10_0.c
> index 73ab0eebe4e2..bddaf2417344 100644
> --- a/drivers/gpu/drm/amd/amdgpu/gmc_v10_0.c
> +++ b/drivers/gpu/drm/amd/amdgpu/gmc_v10_0.c
> @@ -1156,6 +1156,9 @@ static void gmc_v10_0_get_clockgating_state(void 
> *handle, u32 *flags)
>  {
>   struct amdgpu_device *adev = (struct amdgpu_device *)handle;
>  
> + if (adev->ip_versions[GC_HWIP][0] == IP_VERSION(10, 1, 3))
> + return;
> +
>   adev->mmhub.funcs->get_clockgating(adev, flags);
>  
>   if (adev->ip_versions[ATHUB_HWIP][0] >= IP_VERSION(2, 1, 0))
> -- 
> 2.25.1
> 


Re: [PATCH] drm/amdgpu: fix a potential GPU hang on cyan skillfish

2022-01-28 Thread Lazar, Lijo




On 1/28/2022 4:13 PM, Lang Yu wrote:

We observed a GPU hang when querying GMC CG state(i.e.,
cat amdgpu_pm_info) on cyan skillfish. Acctually, cyan
skillfish doesn't support any CG features.

Just prevent cyan skillfish from accessing GMC CG registers.

Signed-off-by: Lang Yu 


Reviewed-by: Lijo Lazar 

Thanks,
Lijo


---
  drivers/gpu/drm/amd/amdgpu/gmc_v10_0.c | 3 +++
  1 file changed, 3 insertions(+)

diff --git a/drivers/gpu/drm/amd/amdgpu/gmc_v10_0.c 
b/drivers/gpu/drm/amd/amdgpu/gmc_v10_0.c
index 73ab0eebe4e2..bddaf2417344 100644
--- a/drivers/gpu/drm/amd/amdgpu/gmc_v10_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/gmc_v10_0.c
@@ -1156,6 +1156,9 @@ static void gmc_v10_0_get_clockgating_state(void *handle, 
u32 *flags)
  {
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
  
+	if (adev->ip_versions[GC_HWIP][0] == IP_VERSION(10, 1, 3))

+   return;
+
adev->mmhub.funcs->get_clockgating(adev, flags);
  
  	if (adev->ip_versions[ATHUB_HWIP][0] >= IP_VERSION(2, 1, 0))




[PATCH] drm/amdgpu: fix a potential GPU hang on cyan skillfish

2022-01-28 Thread Lang Yu
We observed a GPU hang when querying GMC CG state(i.e.,
cat amdgpu_pm_info) on cyan skillfish. Acctually, cyan
skillfish doesn't support any CG features.

Just prevent cyan skillfish from accessing GMC CG registers.

Signed-off-by: Lang Yu 
---
 drivers/gpu/drm/amd/amdgpu/gmc_v10_0.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/gpu/drm/amd/amdgpu/gmc_v10_0.c 
b/drivers/gpu/drm/amd/amdgpu/gmc_v10_0.c
index 73ab0eebe4e2..bddaf2417344 100644
--- a/drivers/gpu/drm/amd/amdgpu/gmc_v10_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/gmc_v10_0.c
@@ -1156,6 +1156,9 @@ static void gmc_v10_0_get_clockgating_state(void *handle, 
u32 *flags)
 {
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
 
+   if (adev->ip_versions[GC_HWIP][0] == IP_VERSION(10, 1, 3))
+   return;
+
adev->mmhub.funcs->get_clockgating(adev, flags);
 
if (adev->ip_versions[ATHUB_HWIP][0] >= IP_VERSION(2, 1, 0))
-- 
2.25.1