powerpc/tm: Remove msr_tm_active()
authorBreno Leitao <leitao@debian.org>
Thu, 16 Aug 2018 17:21:07 +0000 (14:21 -0300)
committerMichael Ellerman <mpe@ellerman.id.au>
Wed, 3 Oct 2018 05:40:05 +0000 (15:40 +1000)
Currently msr_tm_active() is a wrapper around MSR_TM_ACTIVE() if
CONFIG_PPC_TRANSACTIONAL_MEM is set, or it is just a function that
returns false if CONFIG_PPC_TRANSACTIONAL_MEM is not set.

This function is not necessary, since MSR_TM_ACTIVE() just do the same and
could be used, removing the dualism and simplifying the code.

This patchset remove every instance of msr_tm_active() and replaced it
by MSR_TM_ACTIVE().

Signed-off-by: Breno Leitao <leitao@debian.org>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
arch/powerpc/include/asm/reg.h
arch/powerpc/kernel/process.c

index e5b314ed054e027d69782c9fd7261eaaefe85eb8..640a4d818772a4afe0e07ba1018b62fadaa7ee10 100644 (file)
 #define MSR_TS_S       __MASK(MSR_TS_S_LG)     /*  Transaction Suspended */
 #define MSR_TS_T       __MASK(MSR_TS_T_LG)     /*  Transaction Transactional */
 #define MSR_TS_MASK    (MSR_TS_T | MSR_TS_S)   /* Transaction State bits */
-#define MSR_TM_ACTIVE(x) (((x) & MSR_TS_MASK) != 0) /* Transaction active? */
 #define MSR_TM_RESV(x) (((x) & MSR_TS_MASK) == MSR_TS_MASK) /* Reserved */
 #define MSR_TM_TRANSACTIONAL(x)        (((x) & MSR_TS_MASK) == MSR_TS_T)
 #define MSR_TM_SUSPENDED(x)    (((x) & MSR_TS_MASK) == MSR_TS_S)
 
+#ifdef CONFIG_PPC_TRANSACTIONAL_MEM
+#define MSR_TM_ACTIVE(x) (((x) & MSR_TS_MASK) != 0) /* Transaction active? */
+#else
+#define MSR_TM_ACTIVE(x) 0
+#endif
+
 #if defined(CONFIG_PPC_BOOK3S_64)
 #define MSR_64BIT      MSR_SF
 
index 913c5725cdb2ad416d06513ed6a72240b4e9aa6d..ec264a6f0eb3a2bbc9e584894f59581709d8579f 100644 (file)
@@ -102,24 +102,18 @@ static void check_if_tm_restore_required(struct task_struct *tsk)
        }
 }
 
-static inline bool msr_tm_active(unsigned long msr)
-{
-       return MSR_TM_ACTIVE(msr);
-}
-
 static bool tm_active_with_fp(struct task_struct *tsk)
 {
-       return msr_tm_active(tsk->thread.regs->msr) &&
+       return MSR_TM_ACTIVE(tsk->thread.regs->msr) &&
                (tsk->thread.ckpt_regs.msr & MSR_FP);
 }
 
 static bool tm_active_with_altivec(struct task_struct *tsk)
 {
-       return msr_tm_active(tsk->thread.regs->msr) &&
+       return MSR_TM_ACTIVE(tsk->thread.regs->msr) &&
                (tsk->thread.ckpt_regs.msr & MSR_VEC);
 }
 #else
-static inline bool msr_tm_active(unsigned long msr) { return false; }
 static inline void check_if_tm_restore_required(struct task_struct *tsk) { }
 static inline bool tm_active_with_fp(struct task_struct *tsk) { return false; }
 static inline bool tm_active_with_altivec(struct task_struct *tsk) { return false; }
@@ -247,7 +241,8 @@ void enable_kernel_fp(void)
                 * giveup as this would save  to the 'live' structure not the
                 * checkpointed structure.
                 */
-               if(!msr_tm_active(cpumsr) && msr_tm_active(current->thread.regs->msr))
+               if (!MSR_TM_ACTIVE(cpumsr) &&
+                    MSR_TM_ACTIVE(current->thread.regs->msr))
                        return;
                __giveup_fpu(current);
        }
@@ -311,7 +306,8 @@ void enable_kernel_altivec(void)
                 * giveup as this would save  to the 'live' structure not the
                 * checkpointed structure.
                 */
-               if(!msr_tm_active(cpumsr) && msr_tm_active(current->thread.regs->msr))
+               if (!MSR_TM_ACTIVE(cpumsr) &&
+                    MSR_TM_ACTIVE(current->thread.regs->msr))
                        return;
                __giveup_altivec(current);
        }
@@ -397,7 +393,8 @@ void enable_kernel_vsx(void)
                 * giveup as this would save  to the 'live' structure not the
                 * checkpointed structure.
                 */
-               if(!msr_tm_active(cpumsr) && msr_tm_active(current->thread.regs->msr))
+               if (!MSR_TM_ACTIVE(cpumsr) &&
+                    MSR_TM_ACTIVE(current->thread.regs->msr))
                        return;
                __giveup_vsx(current);
        }
@@ -530,7 +527,7 @@ void restore_math(struct pt_regs *regs)
 {
        unsigned long msr;
 
-       if (!msr_tm_active(regs->msr) &&
+       if (!MSR_TM_ACTIVE(regs->msr) &&
                !current->thread.load_fp && !loadvec(current->thread))
                return;