From 506cb8be7e83d29b316e1708bcf05359be16cfb7 Mon Sep 17 00:00:00 2001 From: Christophe Leroy Date: Thu, 13 Jul 2017 15:10:04 +0200 Subject: [PATCH] powerpc, 8xx: move cache helper into C Avoid unnecessary assembly functions when they can easily be written in C. Signed-off-by: Christophe Leroy --- arch/powerpc/cpu/mpc8xx/start.S | 32 -------------------------------- arch/powerpc/include/asm/cache.h | 32 ++++++++++++++++++++++++++++++++ arch/powerpc/include/asm/ppc.h | 6 ------ 3 files changed, 32 insertions(+), 38 deletions(-) diff --git a/arch/powerpc/cpu/mpc8xx/start.S b/arch/powerpc/cpu/mpc8xx/start.S index fbdc82a079..4c25d3765b 100644 --- a/arch/powerpc/cpu/mpc8xx/start.S +++ b/arch/powerpc/cpu/mpc8xx/start.S @@ -310,38 +310,6 @@ get_pvr: mfspr r3, PVR blr - - .globl wr_ic_cst -wr_ic_cst: - mtspr IC_CST, r3 - blr - - .globl rd_ic_cst -rd_ic_cst: - mfspr r3, IC_CST - blr - - .globl wr_ic_adr -wr_ic_adr: - mtspr IC_ADR, r3 - blr - - - .globl wr_dc_cst -wr_dc_cst: - mtspr DC_CST, r3 - blr - - .globl rd_dc_cst -rd_dc_cst: - mfspr r3, DC_CST - blr - - .globl wr_dc_adr -wr_dc_adr: - mtspr DC_ADR, r3 - blr - /*------------------------------------------------------------------------------*/ /* diff --git a/arch/powerpc/include/asm/cache.h b/arch/powerpc/include/asm/cache.h index d3a83910b6..0801d2c367 100644 --- a/arch/powerpc/include/asm/cache.h +++ b/arch/powerpc/include/asm/cache.h @@ -107,6 +107,38 @@ void disable_cpc_sram(void); #define DC_DFWT 0x40000000 /* Data cache is forced write through */ #define DC_LES 0x20000000 /* Caches are little endian mode */ + +#if !defined(__ASSEMBLY__) +static inline uint rd_ic_cst(void) +{ + return mfspr(IC_CST); +} + +static inline void wr_ic_cst(uint val) +{ + mtspr(IC_CST, val); +} + +static inline void wr_ic_adr(uint val) +{ + mtspr(IC_ADR, val); +} + +static inline uint rd_dc_cst(void) +{ + return mfspr(DC_CST); +} + +static inline void wr_dc_cst(uint val) +{ + mtspr(DC_CST, val); +} + +static inline void wr_dc_adr(uint val) +{ + mtspr(DC_ADR, val); +} +#endif #endif /* CONFIG_8xx */ #endif diff --git a/arch/powerpc/include/asm/ppc.h b/arch/powerpc/include/asm/ppc.h index e11f39801e..61838cb2d9 100644 --- a/arch/powerpc/include/asm/ppc.h +++ b/arch/powerpc/include/asm/ppc.h @@ -50,12 +50,6 @@ static inline uint get_immr(uint mask) #endif uint get_pvr(void); uint get_svr(void); -uint rd_ic_cst(void); -void wr_ic_cst(uint); -void wr_ic_adr(uint); -uint rd_dc_cst(void); -void wr_dc_cst(uint); -void wr_dc_adr(uint); #if defined(CONFIG_MPC85xx) || \ defined(CONFIG_MPC86xx) || \ -- 2.39.2