diff options
| author | Mayuresh Chitale <[email protected]> | 2024-07-02 10:26:37 +0000 |
|---|---|---|
| committer | Palmer Dabbelt <[email protected]> | 2025-06-05 21:03:06 +0000 |
| commit | a56972698810089d8f1bdc296cd709726db7176b (patch) | |
| tree | 63d4e66994bba4f1c6d409baf12d011cc3dd8461 /drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c | |
| parent | Linux 6.15-rc6 (diff) | |
| download | kernel-a56972698810089d8f1bdc296cd709726db7176b.tar.gz kernel-a56972698810089d8f1bdc296cd709726db7176b.zip | |
riscv: mm: Add support for Svinval extension
The Svinval extension splits SFENCE.VMA instruction into finer-grained
invalidation and ordering operations and is mandatory for RVA23S64 profile.
When Svinval is enabled the local_flush_tlb_range_threshold_asid function
should use the following sequence to optimize the tlb flushes instead of
a simple sfence.vma:
sfence.w.inval
svinval.vma
.
.
svinval.vma
sfence.inval.ir
The maximum number of consecutive svinval.vma instructions that
can be executed in local_flush_tlb_range_threshold_asid function
is limited to 64. This is required to avoid soft lockups and the
approach is similar to that used in arm64.
Signed-off-by: Mayuresh Chitale <[email protected]>
Reviewed-by: Andrew Jones <[email protected]>
Reviewed-by: Alexandre Ghiti <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Alexandre Ghiti <[email protected]>
Signed-off-by: Palmer Dabbelt <[email protected]>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c')
0 files changed, 0 insertions, 0 deletions
