Loading arch/powerpc/include/asm/exception-64s.h +0 −7 Original line number Diff line number Diff line Loading @@ -288,13 +288,6 @@ label##_hv: \ /* Exception addition: Hard disable interrupts */ #define DISABLE_INTS SOFT_DISABLE_INTS(r10,r11) /* Exception addition: Keep interrupt state */ #define ENABLE_INTS \ ld r11,PACAKMSR(r13); \ ld r12,_MSR(r1); \ rlwimi r11,r12,0,MSR_EE; \ mtmsrd r11,1 #define ADD_NVGPRS \ bl .save_nvgprs Loading arch/powerpc/include/asm/irq.h +0 −4 Original line number Diff line number Diff line Loading @@ -18,10 +18,6 @@ #include <linux/atomic.h> /* Define a way to iterate across irqs. */ #define for_each_irq(i) \ for ((i) = 0; (i) < NR_IRQS; ++(i)) extern atomic_t ppc_n_lost_interrupts; /* This number is used when no interrupt has been assigned */ Loading arch/powerpc/kernel/entry_64.S +0 −18 Original line number Diff line number Diff line Loading @@ -763,16 +763,6 @@ do_work: SOFT_DISABLE_INTS(r3,r4) 1: bl .preempt_schedule_irq /* Hard-disable interrupts again (and update PACA) */ #ifdef CONFIG_PPC_BOOK3E wrteei 0 #else ld r10,PACAKMSR(r13) /* Get kernel MSR without EE */ mtmsrd r10,1 #endif /* CONFIG_PPC_BOOK3E */ li r0,PACA_IRQ_HARD_DIS stb r0,PACAIRQHAPPENED(r13) /* Re-test flags and eventually loop */ clrrdi r9,r1,THREAD_SHIFT ld r4,TI_FLAGS(r9) Loading @@ -783,14 +773,6 @@ do_work: user_work: #endif /* CONFIG_PREEMPT */ /* Enable interrupts */ #ifdef CONFIG_PPC_BOOK3E wrteei 1 #else ori r10,r10,MSR_EE mtmsrd r10,1 #endif /* CONFIG_PPC_BOOK3E */ andi. r0,r4,_TIF_NEED_RESCHED beq 1f bl .restore_interrupts Loading arch/powerpc/kernel/exceptions-64s.S +1 −1 Original line number Diff line number Diff line Loading @@ -764,8 +764,8 @@ alignment_common: std r3,_DAR(r1) std r4,_DSISR(r1) bl .save_nvgprs DISABLE_INTS addi r3,r1,STACK_FRAME_OVERHEAD ENABLE_INTS bl .alignment_exception b .ret_from_except Loading arch/powerpc/kernel/irq.c +8 −6 Original line number Diff line number Diff line Loading @@ -260,11 +260,17 @@ EXPORT_SYMBOL(arch_local_irq_restore); * if they are currently disabled. This is typically called before * schedule() or do_signal() when returning to userspace. We do it * in C to avoid the burden of dealing with lockdep etc... * * NOTE: This is called with interrupts hard disabled but not marked * as such in paca->irq_happened, so we need to resync this. */ void restore_interrupts(void) { if (irqs_disabled()) if (irqs_disabled()) { local_paca->irq_happened |= PACA_IRQ_HARD_DIS; local_irq_enable(); } else __hard_irq_enable(); } #endif /* CONFIG_PPC64 */ Loading Loading @@ -330,14 +336,10 @@ void migrate_irqs(void) alloc_cpumask_var(&mask, GFP_KERNEL); for_each_irq(irq) { for_each_irq_desc(irq, desc) { struct irq_data *data; struct irq_chip *chip; desc = irq_to_desc(irq); if (!desc) continue; data = irq_desc_get_irq_data(desc); if (irqd_is_per_cpu(data)) continue; Loading Loading
arch/powerpc/include/asm/exception-64s.h +0 −7 Original line number Diff line number Diff line Loading @@ -288,13 +288,6 @@ label##_hv: \ /* Exception addition: Hard disable interrupts */ #define DISABLE_INTS SOFT_DISABLE_INTS(r10,r11) /* Exception addition: Keep interrupt state */ #define ENABLE_INTS \ ld r11,PACAKMSR(r13); \ ld r12,_MSR(r1); \ rlwimi r11,r12,0,MSR_EE; \ mtmsrd r11,1 #define ADD_NVGPRS \ bl .save_nvgprs Loading
arch/powerpc/include/asm/irq.h +0 −4 Original line number Diff line number Diff line Loading @@ -18,10 +18,6 @@ #include <linux/atomic.h> /* Define a way to iterate across irqs. */ #define for_each_irq(i) \ for ((i) = 0; (i) < NR_IRQS; ++(i)) extern atomic_t ppc_n_lost_interrupts; /* This number is used when no interrupt has been assigned */ Loading
arch/powerpc/kernel/entry_64.S +0 −18 Original line number Diff line number Diff line Loading @@ -763,16 +763,6 @@ do_work: SOFT_DISABLE_INTS(r3,r4) 1: bl .preempt_schedule_irq /* Hard-disable interrupts again (and update PACA) */ #ifdef CONFIG_PPC_BOOK3E wrteei 0 #else ld r10,PACAKMSR(r13) /* Get kernel MSR without EE */ mtmsrd r10,1 #endif /* CONFIG_PPC_BOOK3E */ li r0,PACA_IRQ_HARD_DIS stb r0,PACAIRQHAPPENED(r13) /* Re-test flags and eventually loop */ clrrdi r9,r1,THREAD_SHIFT ld r4,TI_FLAGS(r9) Loading @@ -783,14 +773,6 @@ do_work: user_work: #endif /* CONFIG_PREEMPT */ /* Enable interrupts */ #ifdef CONFIG_PPC_BOOK3E wrteei 1 #else ori r10,r10,MSR_EE mtmsrd r10,1 #endif /* CONFIG_PPC_BOOK3E */ andi. r0,r4,_TIF_NEED_RESCHED beq 1f bl .restore_interrupts Loading
arch/powerpc/kernel/exceptions-64s.S +1 −1 Original line number Diff line number Diff line Loading @@ -764,8 +764,8 @@ alignment_common: std r3,_DAR(r1) std r4,_DSISR(r1) bl .save_nvgprs DISABLE_INTS addi r3,r1,STACK_FRAME_OVERHEAD ENABLE_INTS bl .alignment_exception b .ret_from_except Loading
arch/powerpc/kernel/irq.c +8 −6 Original line number Diff line number Diff line Loading @@ -260,11 +260,17 @@ EXPORT_SYMBOL(arch_local_irq_restore); * if they are currently disabled. This is typically called before * schedule() or do_signal() when returning to userspace. We do it * in C to avoid the burden of dealing with lockdep etc... * * NOTE: This is called with interrupts hard disabled but not marked * as such in paca->irq_happened, so we need to resync this. */ void restore_interrupts(void) { if (irqs_disabled()) if (irqs_disabled()) { local_paca->irq_happened |= PACA_IRQ_HARD_DIS; local_irq_enable(); } else __hard_irq_enable(); } #endif /* CONFIG_PPC64 */ Loading Loading @@ -330,14 +336,10 @@ void migrate_irqs(void) alloc_cpumask_var(&mask, GFP_KERNEL); for_each_irq(irq) { for_each_irq_desc(irq, desc) { struct irq_data *data; struct irq_chip *chip; desc = irq_to_desc(irq); if (!desc) continue; data = irq_desc_get_irq_data(desc); if (irqd_is_per_cpu(data)) continue; Loading