Lines Matching refs:fpexc

111 	vfp->hard.fpexc = FPEXC_EN;  in vfp_thread_flush()
162 u32 fpexc; in vfp_notifier() local
169 fpexc = fmrx(FPEXC); in vfp_notifier()
179 if ((fpexc & FPEXC_EN) && vfp_current_hw_state[cpu]) in vfp_notifier()
180 vfp_save_state(vfp_current_hw_state[cpu], fpexc); in vfp_notifier()
187 fmxr(FPEXC, fpexc & ~FPEXC_EN); in vfp_notifier()
324 static void VFP_bounce(u32 trigger, u32 fpexc, struct pt_regs *regs) in VFP_bounce() argument
328 pr_debug("VFP: bounce: trigger %08x fpexc %08x\n", trigger, fpexc); in VFP_bounce()
343 fmxr(FPEXC, fpexc & ~(FPEXC_EX|FPEXC_DEX|FPEXC_FP2V|FPEXC_VV|FPEXC_TRAP_MASK)); in VFP_bounce()
359 if (fpexc & FPEXC_EX) { in VFP_bounce()
366 } else if (!(fpexc & FPEXC_DEX)) { in VFP_bounce()
381 if (fpexc & (FPEXC_EX | FPEXC_VV)) { in VFP_bounce()
384 len = fpexc + (1 << FPEXC_LENGTH_BIT); in VFP_bounce()
403 if ((fpexc & (FPEXC_EX | FPEXC_FP2V)) != (FPEXC_EX | FPEXC_FP2V)) in VFP_bounce()
449 u32 fpexc = fmrx(FPEXC); in vfp_pm_suspend() local
452 if (fpexc & FPEXC_EN) { in vfp_pm_suspend()
454 vfp_save_state(&ti->vfpstate, fpexc); in vfp_pm_suspend()
460 fmxr(FPEXC, fpexc | FPEXC_EN); in vfp_pm_suspend()
461 vfp_save_state(vfp_current_hw_state[ti->cpu], fpexc); in vfp_pm_suspend()
462 fmxr(FPEXC, fpexc); in vfp_pm_suspend()
520 u32 fpexc = fmrx(FPEXC); in vfp_sync_hwstate() local
525 fmxr(FPEXC, fpexc | FPEXC_EN); in vfp_sync_hwstate()
526 vfp_save_state(&thread->vfpstate, fpexc | FPEXC_EN); in vfp_sync_hwstate()
527 fmxr(FPEXC, fpexc); in vfp_sync_hwstate()
571 ufp_exc->fpexc = hwstate->fpexc; in vfp_preserve_user_clear_hwstate()
591 unsigned long fpexc; in vfp_restore_user_hwstate() local
609 fpexc = ufp_exc->fpexc; in vfp_restore_user_hwstate()
612 fpexc |= FPEXC_EN; in vfp_restore_user_hwstate()
615 fpexc &= ~(FPEXC_EX | FPEXC_FP2V); in vfp_restore_user_hwstate()
616 hwstate->fpexc = fpexc; in vfp_restore_user_hwstate()
678 u32 fpexc; in vfp_support_entry() local
687 fpexc = fmrx(FPEXC); in vfp_support_entry()
696 if (!(fpexc & FPEXC_EN)) { in vfp_support_entry()
701 fpexc |= FPEXC_EN; in vfp_support_entry()
702 fmxr(FPEXC, fpexc & ~FPEXC_EX); in vfp_support_entry()
720 fpexc); in vfp_support_entry()
727 fpexc = vfp_load_state(&ti->vfpstate); in vfp_support_entry()
738 if (fpexc & FPEXC_EX) in vfp_support_entry()
750 fmxr(FPEXC, fpexc); in vfp_support_entry()
753 if (!(fpexc & (FPEXC_EX | FPEXC_DEX))) { in vfp_support_entry()
768 fpexc |= FPEXC_DEX; in vfp_support_entry()
772 VFP_bounce(trigger, fpexc, regs); in vfp_support_entry()
820 u32 fpexc; in kernel_neon_begin() local
832 fpexc = fmrx(FPEXC) | FPEXC_EN; in kernel_neon_begin()
833 fmxr(FPEXC, fpexc); in kernel_neon_begin()
840 vfp_save_state(&thread->vfpstate, fpexc); in kernel_neon_begin()
843 vfp_save_state(vfp_current_hw_state[cpu], fpexc); in kernel_neon_begin()