Lines Matching +full:current +full:- +full:mode
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
17 #include <asm/cpu-features.h>
22 #include <asm/current.h>
30 * This enum specifies a mode in which we want the FPU to operate, for cores
54 static inline int __enable_fpu(enum fpu_mode mode) in __enable_fpu() argument
58 switch (mode) { in __enable_fpu()
60 /* just enable the FPU in its current mode */ in __enable_fpu()
76 /* we only have a 32-bit FPU */ in __enable_fpu()
87 fr = (int)mode & FPU_FR_MASK; in __enable_fpu()
120 enum fpu_mode mode; in __own_fpu() local
124 mode = FPU_HYBRID; in __own_fpu()
126 mode = !test_thread_flag(TIF_32BIT_FPREGS); in __own_fpu()
128 ret = __enable_fpu(mode); in __own_fpu()
132 if (current->thread.fpu.fcr31 & FPU_CSR_NAN2008) { in __own_fpu()
144 KSTK_STATUS(current) |= ST0_CU1; in __own_fpu()
145 if (mode == FPU_64BIT || mode == FPU_HYBRID) in __own_fpu()
146 KSTK_STATUS(current) |= ST0_FR; in __own_fpu()
147 else /* mode == FPU_32BIT */ in __own_fpu()
148 KSTK_STATUS(current) &= ~ST0_FR; in __own_fpu()
164 _restore_fp(current); in own_fpu_inatomic()
184 tsk->thread.fpu.fcr31 = in lose_fpu_inatomic()
206 lose_fpu_inatomic(save, current); in lose_fpu()
211 * init_fp_ctx() - Initialize task FP context
228 memset(&target->thread.fpu.fpr, ~0, sizeof(target->thread.fpu.fpr)); in init_fp_ctx()
256 if (tsk == current) { in get_fpu_regs()
259 _save_fp(current); in get_fpu_regs()
263 return tsk->thread.fpu.fpr; in get_fpu_regs()
273 static inline int __enable_fpu(enum fpu_mode mode) in __enable_fpu() argument
280 /* no-op */ in __disable_fpu()
291 /* no-op */ in clear_fpu_owner()
306 /* no-op */ in lose_fpu_inatomic()
311 /* no-op */ in lose_fpu()