Re: [PATCH] drm/amdgpu: fix a potential GPU hang on cyan skillfish
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
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
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