Skip to content

Commit 2ec0a7c

Browse files
srishanmalexdeucher
authored andcommitted
drm/amdgpu/gfx11: Add Cleaner Shader Support for GFX11.5 GPUs
Enable the cleaner shader for GFX11.5.0/11.5.1 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 GFX11.5.0/11.5.1 GPUs, previously available for GFX11.0.3. It enhances security by clearing GPU memory between processes and maintains a consistent GPU state across KGD and KFD workloads. Cc: Mario Sopena-Novales <[email protected]> Cc: Christian König <[email protected]> Cc: Alex Deucher <[email protected]> Signed-off-by: Srinivasan Shanmugam <[email protected]> Reviewed-by: Alex Deucher <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
1 parent 5e93d0e commit 2ec0a7c

File tree

1 file changed

+14
-0
lines changed

1 file changed

+14
-0
lines changed

drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1626,6 +1626,20 @@ static int gfx_v11_0_sw_init(struct amdgpu_ip_block *ip_block)
16261626
}
16271627
}
16281628
break;
1629+
case IP_VERSION(11, 5, 0):
1630+
case IP_VERSION(11, 5, 1):
1631+
adev->gfx.cleaner_shader_ptr = gfx_11_0_3_cleaner_shader_hex;
1632+
adev->gfx.cleaner_shader_size = sizeof(gfx_11_0_3_cleaner_shader_hex);
1633+
if (adev->gfx.mec_fw_version >= 26 &&
1634+
adev->mes.fw_version[0] >= 114) {
1635+
adev->gfx.enable_cleaner_shader = true;
1636+
r = amdgpu_gfx_cleaner_shader_sw_init(adev, adev->gfx.cleaner_shader_size);
1637+
if (r) {
1638+
adev->gfx.enable_cleaner_shader = false;
1639+
dev_err(adev->dev, "Failed to initialize cleaner shader\n");
1640+
}
1641+
}
1642+
break;
16291643
default:
16301644
adev->gfx.enable_cleaner_shader = false;
16311645
break;

0 commit comments

Comments
 (0)