ARC: fpu: declutter code, move bits out into fpu.h
authorVineet Gupta <vgupta@synopsys.com>
Sat, 18 Jan 2020 00:00:41 +0000 (16:00 -0800)
committerVineet Gupta <vgupta@synopsys.com>
Sat, 18 Jan 2020 00:53:38 +0000 (16:53 -0800)
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
arch/arc/include/asm/fpu.h [new file with mode: 0644]
arch/arc/include/asm/processor.h
arch/arc/include/asm/switch_to.h
arch/arc/kernel/fpu.c

diff --git a/arch/arc/include/asm/fpu.h b/arch/arc/include/asm/fpu.h
new file mode 100644 (file)
index 0000000..de46742
--- /dev/null
@@ -0,0 +1,29 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/*
+ * Copyright (C) 2020 Synopsys, Inc. (www.synopsys.com)
+ *
+ */
+
+#ifndef _ASM_ARC_FPU_H
+#define _ASM_ARC_FPU_H
+
+#ifdef CONFIG_ARC_FPU_SAVE_RESTORE
+
+#include <asm/ptrace.h>
+
+/* These DPFP regs need to be saved/restored across ctx-sw */
+struct arc_fpu {
+       struct {
+               unsigned int l, h;
+       } aux_dpfp[2];
+};
+
+extern void fpu_save_restore(struct task_struct *p, struct task_struct *n);
+
+#else
+
+#define fpu_save_restore(p, n)
+
+#endif /* CONFIG_ARC_FPU_SAVE_RESTORE */
+
+#endif /* _ASM_ARC_FPU_H */
index 706edea..ec532d1 100644 (file)
 #ifndef __ASSEMBLY__
 
 #include <asm/ptrace.h>
-
-#ifdef CONFIG_ARC_FPU_SAVE_RESTORE
-/* These DPFP regs need to be saved/restored across ctx-sw */
-struct arc_fpu {
-       struct {
-               unsigned int l, h;
-       } aux_dpfp[2];
-};
-#endif
+#include <asm/fpu.h>
 
 #ifdef CONFIG_ARC_PLAT_EZNPS
 struct eznps_dp {
index 77f1233..aadf65b 100644 (file)
@@ -9,19 +9,7 @@
 #ifndef __ASSEMBLY__
 
 #include <linux/sched.h>
-
-#ifdef CONFIG_ARC_FPU_SAVE_RESTORE
-
-extern void fpu_save_restore(struct task_struct *p, struct task_struct *n);
-#define ARC_FPU_PREV(p, n)     fpu_save_restore(p, n)
-#define ARC_FPU_NEXT(t)
-
-#else
-
-#define ARC_FPU_PREV(p, n)
-#define ARC_FPU_NEXT(n)
-
-#endif /* !CONFIG_ARC_FPU_SAVE_RESTORE */
+#include <asm/fpu.h>
 
 #ifdef CONFIG_ARC_PLAT_EZNPS
 extern void dp_save_restore(struct task_struct *p, struct task_struct *n);
@@ -36,9 +24,8 @@ struct task_struct *__switch_to(struct task_struct *p, struct task_struct *n);
 #define switch_to(prev, next, last)    \
 do {                                   \
        ARC_EZNPS_DP_PREV(prev, next);  \
-       ARC_FPU_PREV(prev, next);       \
+       fpu_save_restore(prev, next);   \
        last = __switch_to(prev, next);\
-       ARC_FPU_NEXT(next);             \
        mb();                           \
 } while (0)
 
index 07e22b5..7a3b56c 100644 (file)
@@ -6,7 +6,7 @@
  */
 
 #include <linux/sched.h>
-#include <asm/switch_to.h>
+#include <asm/fpu.h>
 
 /*
  * To save/restore FPU regs, simplest scheme would use LR/SR insns.