[AMD Official Use Only - General] Reviewed-by: Tao Zhou <tao.zh...@amd.com>
> -----Original Message----- > From: amd-gfx <amd-gfx-boun...@lists.freedesktop.org> On Behalf Of > Stanley.Yang > Sent: Thursday, September 28, 2023 11:42 AM > To: amd-gfx@lists.freedesktop.org > Cc: Yang, Stanley <stanley.y...@amd.com> > Subject: [PATCH Review 1/1] drm/amdgpu: Skip ring test during ras in recovery > > This is workaround due to ring test failed during ras do gpu recovery for aqua > vanjaram. > > Signed-off-by: Stanley.Yang <stanley.y...@amd.com> > --- > drivers/gpu/drm/amd/amdgpu/gfx_v9_4_3.c | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v9_4_3.c > b/drivers/gpu/drm/amd/amdgpu/gfx_v9_4_3.c > index fbfe0a1c4b19..9fff58d073a7 100644 > --- a/drivers/gpu/drm/amd/amdgpu/gfx_v9_4_3.c > +++ b/drivers/gpu/drm/amd/amdgpu/gfx_v9_4_3.c > @@ -248,10 +248,16 @@ static int gfx_v9_4_3_ring_test_ring(struct > amdgpu_ring *ring) { > uint32_t scratch_reg0_offset, xcc_offset; > struct amdgpu_device *adev = ring->adev; > + struct amdgpu_ras *ras; > uint32_t tmp = 0; > unsigned i; > int r; > > + /* This is workaround: ring test failed during ras recovery */ > + ras = amdgpu_ras_get_context(adev); > + if (ras && atomic_read(&ras->in_recovery)) > + return 0; > + > /* Use register offset which is local to XCC in the packet */ > xcc_offset = SOC15_REG_OFFSET(GC, 0, regSCRATCH_REG0); > scratch_reg0_offset = SOC15_REG_OFFSET(GC, GET_INST(GC, ring- > >xcc_id), regSCRATCH_REG0); > -- > 2.25.1