mirror of
https://github.com/torvalds/linux.git
synced 2024-11-23 20:51:44 +00:00
powerpc: Drop _nmask_and_or_msr()
_nmask_and_or_msr() is only used at two places to set MSR_IP. The SYNC is unnecessary as the users are not PowerPC 601. Can be easily writen in C. Do it, and drop _nmask_and_or_msr() Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://lore.kernel.org/r/c2d2b8dfb8dd677026b26dffc8d31070c38a6b89.1597388079.git.christophe.leroy@csgroup.eu
This commit is contained in:
parent
6c9100ea39
commit
e53281bc21
@ -437,7 +437,6 @@ extern void power9_idle_type(unsigned long stop_psscr_val,
|
||||
|
||||
extern void flush_instruction_cache(void);
|
||||
extern int fix_alignment(struct pt_regs *);
|
||||
extern void _nmask_and_or_msr(unsigned long nmask, unsigned long or_val);
|
||||
|
||||
#ifdef CONFIG_PPC64
|
||||
/*
|
||||
|
@ -215,19 +215,6 @@ _GLOBAL(low_choose_7447a_dfs)
|
||||
|
||||
#endif /* CONFIG_CPU_FREQ_PMAC && CONFIG_PPC_BOOK3S_32 */
|
||||
|
||||
/*
|
||||
* complement mask on the msr then "or" some values on.
|
||||
* _nmask_and_or_msr(nmask, value_to_or)
|
||||
*/
|
||||
_GLOBAL(_nmask_and_or_msr)
|
||||
mfmsr r0 /* Get current msr */
|
||||
andc r0,r0,r3 /* And off the bits set in r3 (first parm) */
|
||||
or r0,r0,r4 /* Or on the bits in r4 (second parm) */
|
||||
SYNC /* Some chip revs have problems here... */
|
||||
mtmsr r0 /* Update machine state */
|
||||
isync
|
||||
blr /* Done */
|
||||
|
||||
#ifdef CONFIG_40x
|
||||
|
||||
/*
|
||||
|
@ -147,7 +147,8 @@ static void __noreturn mpc7448_hpc2_restart(char *cmd)
|
||||
local_irq_disable();
|
||||
|
||||
/* Set exception prefix high - to the firmware */
|
||||
_nmask_and_or_msr(0, MSR_IP);
|
||||
mtmsr(mfmsr() | MSR_IP);
|
||||
isync();
|
||||
|
||||
for (;;) ; /* Spin until reset happens */
|
||||
}
|
||||
|
@ -101,7 +101,8 @@ static void __noreturn storcenter_restart(char *cmd)
|
||||
local_irq_disable();
|
||||
|
||||
/* Set exception prefix high - to the firmware */
|
||||
_nmask_and_or_msr(0, MSR_IP);
|
||||
mtmsr(mfmsr() | MSR_IP);
|
||||
isync();
|
||||
|
||||
/* Wait for reset to happen */
|
||||
for (;;) ;
|
||||
|
Loading…
Reference in New Issue
Block a user