]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/amdgpu: optimize fn gfx_v11_ring_insert_nop
authorSunil Khatri <sunil.khatri@amd.com>
Tue, 8 Oct 2024 13:16:05 +0000 (18:46 +0530)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 15 Oct 2024 15:17:03 +0000 (11:17 -0400)
Optimize gfx_v11_ring_insert_nop() to call
optimized version of amdgpu_ring_insert_nop
instead of calling amdgpu_ring_write for number
of nop times.

Signed-off-by: Sunil Khatri <sunil.khatri@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c

index 40899c4905f4b72be5606217d61e5743c12c01e9..894fc04201c3ab4173953b293e340886032c2623 100644 (file)
@@ -489,8 +489,6 @@ static void gfx_v11_0_wait_reg_mem(struct amdgpu_ring *ring, int eng_sel,
 
 static void gfx_v11_ring_insert_nop(struct amdgpu_ring *ring, uint32_t num_nop)
 {
-       int i;
-
        /* Header itself is a NOP packet */
        if (num_nop == 1) {
                amdgpu_ring_write(ring, ring->funcs->nop);
@@ -501,8 +499,7 @@ static void gfx_v11_ring_insert_nop(struct amdgpu_ring *ring, uint32_t num_nop)
        amdgpu_ring_write(ring, PACKET3(PACKET3_NOP, min(num_nop - 2, 0x3ffe)));
 
        /* Header is at index 0, followed by num_nops - 1 NOP packet's */
-       for (i = 1; i < num_nop; i++)
-               amdgpu_ring_write(ring, ring->funcs->nop);
+       amdgpu_ring_insert_nop(ring, num_nop - 1);
 }
 
 static int gfx_v11_0_ring_test_ring(struct amdgpu_ring *ring)