summaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorAndy Chiu <andy.chiu@sifive.com>2024-01-15 05:59:25 +0000
committerPalmer Dabbelt <palmer@rivosinc.com>2024-01-16 07:13:58 -0800
commita93fdaf183125fea81f66b9bd756ef5a0c30859e (patch)
tree925d506ca51e1423243a3e379a52f34a00881621 /arch
parentc2a658d419246108c9bf065ec347355de5ba8a05 (diff)
downloadlinux-stable-a93fdaf183125fea81f66b9bd756ef5a0c30859e.tar.gz
linux-stable-a93fdaf183125fea81f66b9bd756ef5a0c30859e.tar.bz2
linux-stable-a93fdaf183125fea81f66b9bd756ef5a0c30859e.zip
riscv: fpu: drop SR_SD bit checking
SR_SD summarizes the dirty status of FS/VS/XS. However, the current code structure does not fully utilize it because each extension specific code is divided into an individual segment. So remove the SR_SD check for now. Signed-off-by: Andy Chiu <andy.chiu@sifive.com> Reviewed-by: Song Shuai <songshuaishuai@tinylab.org> Reviewed-by: Guo Ren <guoren@kernel.org> Tested-by: Björn Töpel <bjorn@rivosinc.com> Tested-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> Link: https://lore.kernel.org/r/20240115055929.4736-7-andy.chiu@sifive.com Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
Diffstat (limited to 'arch')
-rw-r--r--arch/riscv/include/asm/switch_to.h3
1 files changed, 1 insertions, 2 deletions
diff --git a/arch/riscv/include/asm/switch_to.h b/arch/riscv/include/asm/switch_to.h
index f90d8e42f3c7..7efdb0584d47 100644
--- a/arch/riscv/include/asm/switch_to.h
+++ b/arch/riscv/include/asm/switch_to.h
@@ -53,8 +53,7 @@ static inline void __switch_to_fpu(struct task_struct *prev,
struct pt_regs *regs;
regs = task_pt_regs(prev);
- if (unlikely(regs->status & SR_SD))
- fstate_save(prev, regs);
+ fstate_save(prev, regs);
fstate_restore(next, task_pt_regs(next));
}