summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/amd/amdgpu/amdgpu_vpe.c
diff options
context:
space:
mode:
authorLang Yu <Lang.Yu@amd.com>2023-10-07 10:13:49 +0800
committerAlex Deucher <alexander.deucher@amd.com>2023-10-13 10:58:33 -0400
commit9a37f65c4e450c4fed5dd5afd6b9f1c8493a3abc (patch)
tree8acba332d43e9ff888c0292f57b1bdd9de7cf042 /drivers/gpu/drm/amd/amdgpu/amdgpu_vpe.c
parent54967d5683b24767c58789af19cf7083e560aa56 (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.c9
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)