Re: [PATCH] drm/amdgpu/gfx10: unlock srbm_mutex after queue programming finish

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux