mirror of
https://github.com/openbsd/src.git
synced 2026-06-18 07:13:36 +02:00
drm/amdgpu/vpe: Force collaborate sync after TRAP
From Alan Liu 3ed448c1dc78ddbf2e1f29dc00788c028ccdbb82 in linux-6.18.y/6.18.34 b6074630a461b1322a814988779005cbc43612ea in mainline linux
This commit is contained in:
@@ -562,6 +562,11 @@ static void vpe_ring_emit_fence(struct amdgpu_ring *ring, uint64_t addr,
|
||||
amdgpu_ring_write(ring, 0);
|
||||
}
|
||||
|
||||
/* WA: Force sync after TRAP to avoid VPE1 fail to power off */
|
||||
if (ring->adev->vpe.collaborate_mode) {
|
||||
amdgpu_ring_write(ring, VPE_CMD_HEADER(VPE_CMD_OPCODE_COLLAB_SYNC, 0));
|
||||
amdgpu_ring_write(ring, 0xabcd);
|
||||
}
|
||||
}
|
||||
|
||||
static void vpe_ring_emit_pipeline_sync(struct amdgpu_ring *ring)
|
||||
@@ -970,7 +975,7 @@ static const struct amdgpu_ring_funcs vpe_ring_funcs = {
|
||||
.emit_frame_size =
|
||||
5 + /* vpe_ring_init_cond_exec */
|
||||
6 + /* vpe_ring_emit_pipeline_sync */
|
||||
10 + 10 + 10 + /* vpe_ring_emit_fence */
|
||||
12 + 12 + 12 + /* vpe_ring_emit_fence */
|
||||
/* vpe_ring_emit_vm_flush */
|
||||
SOC15_FLUSH_GPU_TLB_NUM_WREG * 3 +
|
||||
SOC15_FLUSH_GPU_TLB_NUM_REG_WAIT * 6,
|
||||
|
||||
Reference in New Issue
Block a user