powerpc/64: Improve inline asm in arch_local_irq_disable
authorNicholas Piggin <npiggin@gmail.com>
Wed, 20 Dec 2017 03:55:43 +0000 (09:25 +0530)
committerMichael Ellerman <mpe@ellerman.id.au>
Fri, 19 Jan 2018 11:36:57 +0000 (22:36 +1100)
commit9f83e00f4cc1c560b6847acecba2b3746c8d8c06
treed164740eb00037ab08f8cec702e4ff2c546c52fc
parentc2e480ba822718190e58849b79a76db13c3dac18
powerpc/64: Improve inline asm in arch_local_irq_disable

arch_local_irq_disable is implemented strangely, with a temporary
output register being set to the desired soft_enabled value via an
immediate input, which is then used to store to memory. This is not
required, the immediate can be specified directly as a register input.

For simple cases at least, assembly is unchanged except register
mapping.

Reviewed-by: Madhavan Srinivasan <maddy@linux.vnet.ibm.com>
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Madhavan Srinivasan <maddy@linux.vnet.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
arch/powerpc/include/asm/hw_irq.h