Commit f5069ef5 authored by Hongchen Zhang's avatar Hongchen Zhang
Browse files

LoongArch: save one instruction for arch_local_irq_{enable,disable}

LoongArch inclusion
category: feature
bugzilla: https://gitee.com/openeuler/kernel/issues/I6BWFP



--------------------------------

Signed-off-by: default avatarHongchen Zhang <zhanghongchen@loongson.cn>
Change-Id: I607e48f5abea1184b22326e772d809f6994603cc
parent eba5f68c
Loading
Loading
Loading
Loading
+3 −4
Original line number Diff line number Diff line
@@ -17,16 +17,15 @@ static inline void arch_local_irq_enable(void)
	__asm__ __volatile__(
		"csrxchg %[val], %[mask], %[reg]\n\t"
		: [val] "+r" (flags)
		: [mask] "r" (CSR_CRMD_IE), [reg] "i" (LOONGARCH_CSR_CRMD)
		: [mask] "r" (flags), [reg] "i" (LOONGARCH_CSR_CRMD)
		: "memory");
}

static inline void arch_local_irq_disable(void)
{
	u32 flags = 0;
	__asm__ __volatile__(
		"csrxchg %[val], %[mask], %[reg]\n\t"
		: [val] "+r" (flags)
		"csrxchg $zero, %[mask], %[reg]\n\t"
		:
		: [mask] "r" (CSR_CRMD_IE), [reg] "i" (LOONGARCH_CSR_CRMD)
		: "memory");
}