[PATCH 1/2] drm/amdgpu: Add PACKET3_RUN_CLEANER_SHADER_9_0 for Cleaner Shader execution
Alex Deucher
alexdeucher at gmail.com
Fri Apr 11 16:47:16 UTC 2025
On Fri, Apr 11, 2025 at 12:28 PM Srinivasan Shanmugam
<srinivasan.shanmugam at amd.com> wrote:
>
> This commit introduces the PACKET3_RUN_CLEANER_SHADER_9_0 definition,
> which is a command packet utilized to instruct the GPU to execute the
> cleaner shader for the GFX9.0 graphics architecture.
>
> The cleaner shader is a piece of GPU code that is responsible for
> clearing or initializing essential GPU resources, such as Local Data
> Share (LDS), Vector General Purpose Registers (VGPRs), and Scalar
> General Purpose Registers (SGPRs). Properly clearing these resources is
> vital for ensuring data isolation and security between different
> workloads executed on the GPU.
>
> When the GPU receives this packet, it fetches and runs the cleaner
> shader instructions from the specified location in the packet. Thus by
> preventing data leaks and ensuring that previous job states do not
> interfere with subsequent workloads.
>
> Cc: Christian König <christian.koenig at amd.com>
> Cc: Alex Deucher <alexander.deucher at amd.com>
> Signed-off-by: Srinivasan Shanmugam <srinivasan.shanmugam at amd.com>
Acked-by: Alex Deucher <alexander.deucher at amd.com>
> ---
> drivers/gpu/drm/amd/amdgpu/soc15d.h | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/soc15d.h b/drivers/gpu/drm/amd/amdgpu/soc15d.h
> index a5000c171c02..cf93fa477674 100644
> --- a/drivers/gpu/drm/amd/amdgpu/soc15d.h
> +++ b/drivers/gpu/drm/amd/amdgpu/soc15d.h
> @@ -552,6 +552,11 @@
> # define PACKET3_QUERY_STATUS_DOORBELL_OFFSET(x) ((x) << 2)
> # define PACKET3_QUERY_STATUS_ENG_SEL(x) ((x) << 25)
>
> +#define PACKET3_RUN_CLEANER_SHADER_9_0 0xD7
> +/* 1. header
> + * 2. RESERVED [31:0]
> + */
> +
> #define PACKET3_RUN_CLEANER_SHADER 0xD2
> /* 1. header
> * 2. RESERVED [31:0]
> --
> 2.34.1
>
More information about the amd-gfx
mailing list