Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/amdgpu/gfx10: Enable cleaner shader for GFX10.3.2/10.3.4/10.3.5 GPUs

Enable the cleaner shader for GFX10.3.2/10.3.4/10.3.5 GPUs to provide
data isolation between GPU workloads. The cleaner shader is responsible
for clearing the Local Data Store (LDS), Vector General Purpose
Registers (VGPRs), and Scalar General Purpose Registers (SGPRs), which
helps prevent data leakage and ensures accurate computation results.

This update extends cleaner shader support to GFX10.3.2/10.3.4/10.3.5
GPUs, previously available for GFX10.3.0. It enhances security by
clearing GPU memory between processes and maintains a consistent GPU
state across KGD and KFD workloads.

Cc: Christian König <christian.koenig@amd.com>
Cc: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Srinivasan Shanmugam <srinivasan.shanmugam@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

authored by

Srinivasan Shanmugam and committed by
Alex Deucher
98146267 86bde64c

+3
+3
drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c
··· 4740 4740 } 4741 4741 switch (amdgpu_ip_version(adev, GC_HWIP, 0)) { 4742 4742 case IP_VERSION(10, 3, 0): 4743 + case IP_VERSION(10, 3, 2): 4744 + case IP_VERSION(10, 3, 4): 4745 + case IP_VERSION(10, 3, 5): 4743 4746 adev->gfx.cleaner_shader_ptr = gfx_10_3_0_cleaner_shader_hex; 4744 4747 adev->gfx.cleaner_shader_size = sizeof(gfx_10_3_0_cleaner_shader_hex); 4745 4748 if (adev->gfx.me_fw_version >= 64 &&