On Fri, Apr 11, 2025 at 1:40 PM Srinivasan Shanmugam <srinivasan.shanmu...@amd.com> wrote: > > This commit modifies the gfx_v9_0_ring_emit_cleaner_shader function > to use a switch statement for cleaner shader emission based on the > specific GFX IP version. > > The function now distinguishes between different IP versions, using > PACKET3_RUN_CLEANER_SHADER_9_0 for the versions 9.0.1, 9.1.0, > 9.2.1, 9.2.2, 9.3.0, and 9.4.0, while retaining > PACKET3_RUN_CLEANER_SHADER for version 9.4.2. > > v2: Simplify logic (Alex). > > Cc: Christian König <christian.koe...@amd.com> > Cc: Alex Deucher <alexander.deuc...@amd.com> > Signed-off-by: Srinivasan Shanmugam <srinivasan.shanmu...@amd.com> > Suggested-by: Alex Deucher <alexander.deuc...@amd.com>
Series is: Reviewed-by: Alex Deucher <alexander.deuc...@amd.com> > --- > drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c | 8 +++++++- > 1 file changed, 7 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c > b/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c > index e62c77b3934a..a63ba6642b18 100644 > --- a/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c > +++ b/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c > @@ -7387,8 +7387,14 @@ static void gfx_v9_ip_dump(struct amdgpu_ip_block > *ip_block) > > static void gfx_v9_0_ring_emit_cleaner_shader(struct amdgpu_ring *ring) > { > + struct amdgpu_device *adev = ring->adev; > + > /* Emit the cleaner shader */ > - amdgpu_ring_write(ring, PACKET3(PACKET3_RUN_CLEANER_SHADER, 0)); > + if (amdgpu_ip_version(adev, GC_HWIP, 0) == IP_VERSION(9, 4, 2)) > + amdgpu_ring_write(ring, PACKET3(PACKET3_RUN_CLEANER_SHADER, > 0)); > + else > + amdgpu_ring_write(ring, > PACKET3(PACKET3_RUN_CLEANER_SHADER_9_0, 0)); > + > amdgpu_ring_write(ring, 0); /* RESERVED field, programmed to zero */ > } > > -- > 2.34.1 >