MIPS: Tidy up FPU context switching
[linux-drm-fsl-dcu.git] / arch / mips / kernel / r4k_switch.S
index 04cbbde3521bc11cd8a1f6c678b2e6fa6bac0529..92cd0516ecf51ee40715824b26ab48be8146cce8 100644 (file)
@@ -34,7 +34,7 @@
 #ifndef USE_ALTERNATE_RESUME_IMPL
 /*
  * task_struct *resume(task_struct *prev, task_struct *next,
- *                    struct thread_info *next_ti, s32 fp_save)
+ *                    struct thread_info *next_ti)
  */
        .align  5
        LEAF(resume)
        cpu_save_nonscratch a0
        LONG_S  ra, THREAD_REG31(a0)
 
-       /*
-        * Check whether we need to save any FP context. FP context is saved
-        * iff the process has used the context with the scalar FPU or the MSA
-        * ASE in the current time slice, as indicated by _TIF_USEDFPU and
-        * _TIF_USEDMSA respectively. switch_to will have set fp_save
-        * accordingly to an FP_SAVE_ enum value.
-        */
-       beqz    a3, 2f
-
-       /*
-        * We do. Clear the saved CU1 bit for prev, such that next time it is
-        * scheduled it will start in userland with the FPU disabled. If the
-        * task uses the FPU then it will be enabled again via the do_cpu trap.
-        * This allows us to lazily restore the FP context.
-        */
-       PTR_L   t3, TASK_THREAD_INFO(a0)
-       LONG_L  t0, ST_OFF(t3)
-       li      t1, ~ST0_CU1
-       and     t0, t0, t1
-       LONG_S  t0, ST_OFF(t3)
-
-       /* Check whether we're saving scalar or vector context. */
-       bgtz    a3, 1f
-
-       /* Save 128b MSA vector context + scalar FP control & status. */
-       .set push
-       SET_HARDFLOAT
-       cfc1    t1, fcr31
-       msa_save_all    a0
-       .set pop        /* SET_HARDFLOAT */
-
-       sw      t1, THREAD_FCR31(a0)
-       b       2f
-
-1:     /* Save 32b/64b scalar FP context. */
-       fpu_save_double a0 t0 t1                # c0_status passed in t0
-                                               # clobbers t1
-2:
-
 #if defined(CONFIG_CC_STACKPROTECTOR) && !defined(CONFIG_SMP)
        PTR_LA  t8, __stack_chk_guard
        LONG_L  t9, TASK_STACK_CANARY(a1)