drm/amdgpu: optimize fn gfx_v9_ring_insert_nop
authorSunil Khatri <sunil.khatri@amd.com>
Tue, 8 Oct 2024 13:14:09 +0000 (18:44 +0530)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 15 Oct 2024 15:16:52 +0000 (11:16 -0400)
Optimize gfx_v9_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_v9_0.c

index 61666e0..be320d7 100644 (file)
@@ -7190,8 +7190,6 @@ static void gfx_v9_0_emit_wave_limit(struct amdgpu_ring *ring, bool enable)
 
 static void gfx_v9_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);
@@ -7202,8 +7200,7 @@ static void gfx_v9_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_v9_0_reset_kgq(struct amdgpu_ring *ring, unsigned int vmid)