drm/amdgpu: optimize fn gfx_v12_ring_insert_nop
authorSunil Khatri <sunil.khatri@amd.com>
Tue, 8 Oct 2024 13:16:49 +0000 (18:46 +0530)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 15 Oct 2024 15:17:09 +0000 (11:17 -0400)
Optimize gfx_v12_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_v12_0.c

index 02244bd2c41867530bd24316fda3ef02e9f046a5..4e34e2b0e6e08f7d26cec7413056596b9fee3995 100644 (file)
@@ -5034,8 +5034,6 @@ static void gfx_v12_0_emit_mem_sync(struct amdgpu_ring *ring)
 
 static void gfx_v12_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);
@@ -5046,8 +5044,7 @@ static void gfx_v12_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 void gfx_v12_0_ring_emit_cleaner_shader(struct amdgpu_ring *ring)