<div dir="ltr"><div>So it's implemented but not enabled by default, right?<br></div><div><br></div><div>Marek<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Jan 24, 2025 at 12:40 PM Alex Deucher <<a href="mailto:alexdeucher@gmail.com" target="_blank">alexdeucher@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Fri, Jan 24, 2025 at 12:38 PM SRINIVASAN SHANMUGAM<br>
<<a href="mailto:srinivasan.shanmugam@amd.com" target="_blank">srinivasan.shanmugam@amd.com</a>> wrote:<br>
><br>
><br>
> On 1/24/2025 10:01 PM, Marek Olšák wrote:<br>
><br>
> Does this commit really enable it though? Or is it just for sysfs?<br>
><br>
> Yes it enables cleaner shader support not only sysfs.<br>
<br>
It enables the functionality in the kernel. It can be turned on or<br>
manually run via sysfs.<br>
<br>
Alex<br>
<br>
><br>
> Best regards,<br>
> Srini<br>
><br>
> Marek<br>
><br>
> On Fri, Jan 24, 2025 at 1:42 AM Srinivasan Shanmugam <<a href="mailto:srinivasan.shanmugam@amd.com" target="_blank">srinivasan.shanmugam@amd.com</a>> wrote:<br>
>><br>
>> Enable the cleaner shader for GFX10.1.1/10.1.2 GPUs to provide data<br>
>> isolation between GPU workloads. The cleaner shader is responsible for<br>
>> clearing the Local Data Store (LDS), Vector General Purpose Registers<br>
>> (VGPRs), and Scalar General Purpose Registers (SGPRs), which helps<br>
>> prevent data leakage and ensures accurate computation results.<br>
>><br>
>> This update extends cleaner shader support to GFX10.1.1/10.1.2 GPUs,<br>
>> previously available for GFX10.1.10. It enhances security by clearing<br>
>> GPU memory between processes and maintains a consistent GPU state across<br>
>> KGD and KFD workloads.<br>
>><br>
>> Cc: Christian König <<a href="mailto:christian.koenig@amd.com" target="_blank">christian.koenig@amd.com</a>><br>
>> Cc: Alex Deucher <<a href="mailto:alexander.deucher@amd.com" target="_blank">alexander.deucher@amd.com</a>><br>
>> Signed-off-by: Srinivasan Shanmugam <<a href="mailto:srinivasan.shanmugam@amd.com" target="_blank">srinivasan.shanmugam@amd.com</a>><br>
>> ---<br>
>> drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c | 2 ++<br>
>> 1 file changed, 2 insertions(+)<br>
>><br>
>> diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c<br>
>> index 1878c83ff7e3..938f7d60a0ee 100644<br>
>> --- a/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c<br>
>> +++ b/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c<br>
>> @@ -4795,6 +4795,8 @@ static int gfx_v10_0_sw_init(struct amdgpu_ip_block *ip_block)<br>
>> }<br>
>> switch (amdgpu_ip_version(adev, GC_HWIP, 0)) {<br>
>> case IP_VERSION(10, 1, 10):<br>
>> + case IP_VERSION(10, 1, 1):<br>
>> + case IP_VERSION(10, 1, 2):<br>
>> adev->gfx.cleaner_shader_ptr = gfx_10_1_10_cleaner_shader_hex;<br>
>> adev->gfx.cleaner_shader_size = sizeof(gfx_10_1_10_cleaner_shader_hex);<br>
>> if (adev->gfx.me_fw_version >= 101 &&<br>
>> --<br>
>> 2.34.1<br>
>><br>
</blockquote></div>