diff options
author | Lang Yu <Lang.Yu@amd.com> | 2023-10-07 10:13:49 +0800 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2023-10-13 10:58:33 -0400 |
commit | 9a37f65c4e450c4fed5dd5afd6b9f1c8493a3abc (patch) | |
tree | 8acba332d43e9ff888c0292f57b1bdd9de7cf042 /drivers/gpu/drm/amd/amdgpu/amdgpu_vpe.c | |
parent | 54967d5683b24767c58789af19cf7083e560aa56 (diff) |
drm/amdgpu/vpe: fix insert_nop ops
Avoid infinite loop when count is 0.
This is missed in rebase.
Signed-off-by: Lang Yu <Lang.Yu@amd.com>
Reviewed-by: Yifan Zhang <yifan1.zhang@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_vpe.c')
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_vpe.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vpe.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vpe.c index bb74478098bb..e81579708e96 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vpe.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vpe.c @@ -240,11 +240,12 @@ static void vpe_ring_insert_nop(struct amdgpu_ring *ring, uint32_t count) { int i; - amdgpu_ring_write(ring, ring->funcs->nop | + for (i = 0; i < count; i++) + if (i == 0) + amdgpu_ring_write(ring, ring->funcs->nop | VPE_CMD_NOP_HEADER_COUNT(count - 1)); - - for (i = 0; i < count - 1; i++) - amdgpu_ring_write(ring, 0); + else + amdgpu_ring_write(ring, ring->funcs->nop); } static uint64_t vpe_get_csa_mc_addr(struct amdgpu_ring *ring, uint32_t vmid) |