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

Commit 65333e44 authored by Monk Liu's avatar Monk Liu Committed by Alex Deucher
Browse files

drm/amdgpu:fix the check in cs_ib_fill for SRIOV



1,the check is only appliable for SRIOV GFX engine.
2,use chunk_ib instead of ib.

Signed-off-by: default avatarMonk Liu <Monk.Liu@amd.com>
Reviewed-by: default avatarKen Wang <Qingqing.wang@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 9a1b3af1
Loading
Loading
Loading
Loading
+10 −9
Original line number Diff line number Diff line
@@ -903,16 +903,17 @@ static int amdgpu_cs_ib_fill(struct amdgpu_device *adev,
		if (chunk->chunk_id != AMDGPU_CHUNK_ID_IB)
			continue;

		if (ib->flags & AMDGPU_IB_FLAG_PREEMPT) {
			if (ib->flags & AMDGPU_IB_FLAG_CE)
		if (chunk_ib->ip_type == AMDGPU_HW_IP_GFX && amdgpu_sriov_vf(adev)) {
			if (chunk_ib->flags & AMDGPU_IB_FLAG_PREEMPT)
				if (chunk_ib->flags & AMDGPU_IB_FLAG_CE)
					ce_preempt++;
				else
					de_preempt++;
		}

		/* only one preemptible IB per submit for me/ce */
			/* each GFX command submit allows 0 or 1 IB preemptible for CE & DE */
			if (ce_preempt > 1 || de_preempt > 1)
			return -EINVAL;
				BUG();
		}

		r = amdgpu_cs_get_ring(adev, chunk_ib->ip_type,
				       chunk_ib->ip_instance, chunk_ib->ring,