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: Monk Liu <Monk.Liu@amd.com> Reviewed-by: Ken Wang <Qingqing.wang@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
Родитель
9a1b3af10d
Коммит
65333e4429
|
@ -903,16 +903,17 @@ static int amdgpu_cs_ib_fill(struct amdgpu_device *adev,
|
||||||
if (chunk->chunk_id != AMDGPU_CHUNK_ID_IB)
|
if (chunk->chunk_id != AMDGPU_CHUNK_ID_IB)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if (ib->flags & AMDGPU_IB_FLAG_PREEMPT) {
|
if (chunk_ib->ip_type == AMDGPU_HW_IP_GFX && amdgpu_sriov_vf(adev)) {
|
||||||
if (ib->flags & AMDGPU_IB_FLAG_CE)
|
if (chunk_ib->flags & AMDGPU_IB_FLAG_PREEMPT)
|
||||||
ce_preempt++;
|
if (chunk_ib->flags & AMDGPU_IB_FLAG_CE)
|
||||||
else
|
ce_preempt++;
|
||||||
de_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)
|
if (ce_preempt > 1 || de_preempt > 1)
|
||||||
return -EINVAL;
|
BUG();
|
||||||
|
}
|
||||||
|
|
||||||
r = amdgpu_cs_get_ring(adev, chunk_ib->ip_type,
|
r = amdgpu_cs_get_ring(adev, chunk_ib->ip_type,
|
||||||
chunk_ib->ip_instance, chunk_ib->ring,
|
chunk_ib->ip_instance, chunk_ib->ring,
|
||||||
|
|
Загрузка…
Ссылка в новой задаче