mirror of
https://github.com/torvalds/linux.git
synced 2024-09-20 06:53:04 +00:00
drm/amdgpu/gfx9: Apply Isolation Enforcement to GFX & Compute rings
This commit applies isolation enforcement to the GFX and Compute rings in the gfx_v9_0 module. The commit sets `amdgpu_gfx_enforce_isolation_ring_begin_use` and `amdgpu_gfx_enforce_isolation_ring_end_use` as the functions to be called when a ring begins and ends its use, respectively. `amdgpu_gfx_enforce_isolation_ring_begin_use` is called when a ring begins its use. This function cancels any scheduled `enforce_isolation_work` and, if necessary, signals the Kernel Fusion Driver (KFD) to stop the runqueue. `amdgpu_gfx_enforce_isolation_ring_end_use` is called when a ring ends its use. This function schedules `enforce_isolation_work` to be run after a delay. These functions are part of the Enforce Isolation Handler, which enforces shader isolation on AMD GPUs to prevent data leakage between different processes. Cc: Christian König <christian.koenig@amd.com> Cc: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Srinivasan Shanmugam <srinivasan.shanmugam@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Suggested-by: Christian König <christian.koenig@amd.com>
This commit is contained in:
parent
afefd6f245
commit
b710dbe55d
|
@ -7470,6 +7470,8 @@ static const struct amdgpu_ring_funcs gfx_v9_0_ring_funcs_gfx = {
|
|||
.emit_mem_sync = gfx_v9_0_emit_mem_sync,
|
||||
.reset = gfx_v9_0_reset_kgq,
|
||||
.emit_cleaner_shader = gfx_v9_0_ring_emit_cleaner_shader,
|
||||
.begin_use = amdgpu_gfx_enforce_isolation_ring_begin_use,
|
||||
.end_use = amdgpu_gfx_enforce_isolation_ring_end_use,
|
||||
};
|
||||
|
||||
static const struct amdgpu_ring_funcs gfx_v9_0_sw_ring_funcs_gfx = {
|
||||
|
@ -7528,6 +7530,8 @@ static const struct amdgpu_ring_funcs gfx_v9_0_sw_ring_funcs_gfx = {
|
|||
.patch_de = gfx_v9_0_ring_patch_de_meta,
|
||||
.patch_ce = gfx_v9_0_ring_patch_ce_meta,
|
||||
.emit_cleaner_shader = gfx_v9_0_ring_emit_cleaner_shader,
|
||||
.begin_use = amdgpu_gfx_enforce_isolation_ring_begin_use,
|
||||
.end_use = amdgpu_gfx_enforce_isolation_ring_end_use,
|
||||
};
|
||||
|
||||
static const struct amdgpu_ring_funcs gfx_v9_0_ring_funcs_compute = {
|
||||
|
@ -7569,6 +7573,8 @@ static const struct amdgpu_ring_funcs gfx_v9_0_ring_funcs_compute = {
|
|||
.emit_wave_limit = gfx_v9_0_emit_wave_limit,
|
||||
.reset = gfx_v9_0_reset_kcq,
|
||||
.emit_cleaner_shader = gfx_v9_0_ring_emit_cleaner_shader,
|
||||
.begin_use = amdgpu_gfx_enforce_isolation_ring_begin_use,
|
||||
.end_use = amdgpu_gfx_enforce_isolation_ring_end_use,
|
||||
};
|
||||
|
||||
static const struct amdgpu_ring_funcs gfx_v9_0_ring_funcs_kiq = {
|
||||
|
|
Loading…
Reference in New Issue
Block a user