On Tue, Nov 26, 2019 at 4:43 AM Xiaojie Yuan <xiaojie.yuan@xxxxxxx> wrote: > > srbm_mutex is to guarantee atomicity for r/w of gfx indexed registers > > Signed-off-by: Xiaojie Yuan <xiaojie.yuan@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> > --- > drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c > index 6bd8d06dbde9..86db40717d38 100644 > --- a/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c > +++ b/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c > @@ -2742,7 +2742,7 @@ static int gfx_v10_0_cp_gfx_resume(struct amdgpu_device *adev) > /* Init gfx ring 0 for pipe 0 */ > mutex_lock(&adev->srbm_mutex); > gfx_v10_0_cp_gfx_switch_pipe(adev, PIPE_ID0); > - mutex_unlock(&adev->srbm_mutex); > + > /* Set ring buffer size */ > ring = &adev->gfx.gfx_ring[0]; > rb_bufsz = order_base_2(ring->ring_size / 8); > @@ -2780,11 +2780,11 @@ static int gfx_v10_0_cp_gfx_resume(struct amdgpu_device *adev) > WREG32_SOC15(GC, 0, mmCP_RB_ACTIVE, 1); > > gfx_v10_0_cp_gfx_set_doorbell(adev, ring); > + mutex_unlock(&adev->srbm_mutex); > > /* Init gfx ring 1 for pipe 1 */ > mutex_lock(&adev->srbm_mutex); > gfx_v10_0_cp_gfx_switch_pipe(adev, PIPE_ID1); > - mutex_unlock(&adev->srbm_mutex); > ring = &adev->gfx.gfx_ring[1]; > rb_bufsz = order_base_2(ring->ring_size / 8); > tmp = REG_SET_FIELD(0, CP_RB1_CNTL, RB_BUFSZ, rb_bufsz); > @@ -2814,6 +2814,7 @@ static int gfx_v10_0_cp_gfx_resume(struct amdgpu_device *adev) > WREG32_SOC15(GC, 0, mmCP_RB1_ACTIVE, 1); > > gfx_v10_0_cp_gfx_set_doorbell(adev, ring); > + mutex_unlock(&adev->srbm_mutex); > > /* Switch to pipe 0 */ > mutex_lock(&adev->srbm_mutex); > -- > 2.20.1 > > _______________________________________________ > amd-gfx mailing list > amd-gfx@xxxxxxxxxxxxxxxxxxxxx > https://lists.freedesktop.org/mailman/listinfo/amd-gfx _______________________________________________ amd-gfx mailing list amd-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/amd-gfx