drm/amdgpu/gfx10: Enable cleaner shader for GFX10.1.1/10.1.2 GPUs
authorSrinivasan Shanmugam <srinivasan.shanmugam@amd.com>
Fri, 24 Jan 2025 06:21:53 +0000 (11:51 +0530)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 13 Feb 2025 02:03:00 +0000 (21:03 -0500)
Enable the cleaner shader for GFX10.1.1/10.1.2 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.1.1/10.1.2 GPUs,
previously available for GFX10.1.10. 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>
drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c

index a2b26551314a1f2a74d16fef59b4275e4b25ace2..d70574a25326993ec10bd7ae2fc2fcf4a271a1fe 100644 (file)
@@ -4794,6 +4794,8 @@ static int gfx_v10_0_sw_init(struct amdgpu_ip_block *ip_block)
        }
        switch (amdgpu_ip_version(adev, GC_HWIP, 0)) {
        case IP_VERSION(10, 1, 10):
+       case IP_VERSION(10, 1, 1):
+       case IP_VERSION(10, 1, 2):
                adev->gfx.cleaner_shader_ptr = gfx_10_1_10_cleaner_shader_hex;
                adev->gfx.cleaner_shader_size = sizeof(gfx_10_1_10_cleaner_shader_hex);
                if (adev->gfx.me_fw_version >= 101 &&