Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 53960b4f authored by jimqu's avatar jimqu Committed by Alex Deucher
Browse files

drm/amd/amdgpu: compute ring test fail during S4 on CI



unhalt Instrction Fetch Unit after all rings are inited.

Signed-off-by: default avatarJimQu <Jim.Qu@amd.com>
Reviewed-by: default avatarAlex Deucher <alexander.deucher@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
Cc: stable@vger.kernel.org
parent 10ea9434
Loading
Loading
Loading
Loading
+9 −3
Original line number Diff line number Diff line
@@ -2755,8 +2755,7 @@ static int gfx_v7_0_cp_compute_resume(struct amdgpu_device *adev)
	u64 wb_gpu_addr;
	u32 *buf;
	struct bonaire_mqd *mqd;

	gfx_v7_0_cp_compute_enable(adev, true);
	struct amdgpu_ring *ring;

	/* fix up chicken bits */
	tmp = RREG32(mmCP_CPF_DEBUG);
@@ -2791,7 +2790,7 @@ static int gfx_v7_0_cp_compute_resume(struct amdgpu_device *adev)

	/* init the queues.  Just two for now. */
	for (i = 0; i < adev->gfx.num_compute_rings; i++) {
		struct amdgpu_ring *ring = &adev->gfx.compute_ring[i];
		ring = &adev->gfx.compute_ring[i];

		if (ring->mqd_obj == NULL) {
			r = amdgpu_bo_create(adev,
@@ -2970,6 +2969,13 @@ static int gfx_v7_0_cp_compute_resume(struct amdgpu_device *adev)
		amdgpu_bo_unreserve(ring->mqd_obj);

		ring->ready = true;
	}

	gfx_v7_0_cp_compute_enable(adev, true);

	for (i = 0; i < adev->gfx.num_compute_rings; i++) {
		ring = &adev->gfx.compute_ring[i];

		r = amdgpu_ring_test_ring(ring);
		if (r)
			ring->ready = false;