[PATCH] Revert "drm/amdgpu/gfx8: Fix compute ring failure after resetting"

Christian König christian.koenig at amd.com
Wed Jan 31 17:08:46 UTC 2018


Am 26.01.2018 um 00:06 schrieb Andrey Grodzovsky:
> This reverts commit 75737cb4eb78c7f185e4700b4aa20cf7a3381aca.
>
> Fixes GFX ring test failure after HW reset.
> No compute ring test failures were observed with the change reverted.
> So seems like whatever problem that change was addressing is not
> present anymore.
>
> Signed-off-by: Andrey Grodzovsky <andrey.grodzovsky at amd.com>

Reviewed-by: Christian König <christian.koenig at amd.com>

> ---
>   drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c | 10 +++-------
>   1 file changed, 3 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c
> index 1207f36..8a65b53 100644
> --- a/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c
> +++ b/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c
> @@ -4847,6 +4847,9 @@ static int gfx_v8_0_kcq_init_queue(struct amdgpu_ring *ring)
>   		/* reset MQD to a clean status */
>   		if (adev->gfx.mec.mqd_backup[mqd_idx])
>   			memcpy(mqd, adev->gfx.mec.mqd_backup[mqd_idx], sizeof(struct vi_mqd_allocation));
> +		/* reset ring buffer */
> +		ring->wptr = 0;
> +		amdgpu_ring_clear_ring(ring);
>   	} else {
>   		amdgpu_ring_clear_ring(ring);
>   	}
> @@ -4921,13 +4924,6 @@ static int gfx_v8_0_kiq_resume(struct amdgpu_device *adev)
>   	/* Test KCQs */
>   	for (i = 0; i < adev->gfx.num_compute_rings; i++) {
>   		ring = &adev->gfx.compute_ring[i];
> -		if (adev->in_gpu_reset) {
> -			/* move reset ring buffer to here to workaround
> -			 * compute ring test failed
> -			 */
> -			ring->wptr = 0;
> -			amdgpu_ring_clear_ring(ring);
> -		}
>   		ring->ready = true;
>   		r = amdgpu_ring_test_ring(ring);
>   		if (r)



More information about the amd-gfx mailing list