Re: [PATCH] powerpc/32: Remove unneccessary calculations in load_up_{fpu/altivec}

2021-08-27 Thread Michael Ellerman
On Wed, 18 Aug 2021 08:47:28 + (UTC), Christophe Leroy wrote:
> No need to re-read SPRN_THREAD, we can calculate thread address
> from current (r2).
> 
> And remove a reload of value 1 into r4 as r4 is already 1.
> 
> 
> 
> [...]

Applied to powerpc/next.

[1/1] powerpc/32: Remove unneccessary calculations in load_up_{fpu/altivec}
  https://git.kernel.org/powerpc/c/51ed00e71f0130e0f3534b8e7d78facd16829426

cheers


[PATCH] powerpc/32: Remove unneccessary calculations in load_up_{fpu/altivec}

2021-08-18 Thread Christophe Leroy
No need to re-read SPRN_THREAD, we can calculate thread address
from current (r2).

And remove a reload of value 1 into r4 as r4 is already 1.

Signed-off-by: Christophe Leroy 
---
 arch/powerpc/kernel/fpu.S| 3 +--
 arch/powerpc/kernel/vector.S | 4 +---
 2 files changed, 2 insertions(+), 5 deletions(-)

diff --git a/arch/powerpc/kernel/fpu.S b/arch/powerpc/kernel/fpu.S
index 6010adcee16e..ba4afe3b5a9c 100644
--- a/arch/powerpc/kernel/fpu.S
+++ b/arch/powerpc/kernel/fpu.S
@@ -91,8 +91,7 @@ END_FTR_SECTION_IFSET(CPU_FTR_VSX)
isync
/* enable use of FP after return */
 #ifdef CONFIG_PPC32
-   mfspr   r5,SPRN_SPRG_THREAD /* current task's THREAD (phys) */
-   tovirt(r5, r5)
+   addir5,r2,THREAD
lwz r4,THREAD_FPEXC_MODE(r5)
ori r9,r9,MSR_FP/* enable FP for current */
or  r9,r9,r4
diff --git a/arch/powerpc/kernel/vector.S b/arch/powerpc/kernel/vector.S
index fc120fac1910..ba03eedfdcd8 100644
--- a/arch/powerpc/kernel/vector.S
+++ b/arch/powerpc/kernel/vector.S
@@ -65,9 +65,8 @@ _GLOBAL(load_up_altivec)
 1:
/* enable use of VMX after return */
 #ifdef CONFIG_PPC32
-   mfspr   r5,SPRN_SPRG_THREAD /* current task's THREAD (phys) 
*/
+   addir5,r2,THREAD
orisr9,r9,MSR_VEC@h
-   tovirt(r5, r5)
 #else
ld  r4,PACACURRENT(r13)
addir5,r4,THREAD/* Get THREAD */
@@ -81,7 +80,6 @@ _GLOBAL(load_up_altivec)
li  r4,1
stb r4,THREAD_LOAD_VEC(r5)
addir6,r5,THREAD_VRSTATE
-   li  r4,1
li  r10,VRSTATE_VSCR
stw r4,THREAD_USED_VR(r5)
lvx v0,r10,r6
-- 
2.25.0