Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6af7faf6 authored by Thomas Gleixner's avatar Thomas Gleixner
Browse files

x86: Use entering[_ack]_irq() instead of open coding it

parent 486ca539
Loading
Loading
Loading
Loading
+2 −4
Original line number Diff line number Diff line
@@ -542,9 +542,7 @@ asmlinkage __visible void smp_irq_move_cleanup_interrupt(void)
{
	unsigned vector, me;

	ack_APIC_irq();
	irq_enter();
	exit_idle();
	entering_ack_irq();

	me = smp_processor_id();
	for (vector = FIRST_EXTERNAL_VECTOR; vector < NR_VECTORS; vector++) {
@@ -596,7 +594,7 @@ asmlinkage __visible void smp_irq_move_cleanup_interrupt(void)
		raw_spin_unlock(&desc->lock);
	}

	irq_exit();
	exiting_irq();
}

static void __irq_complete_move(struct irq_cfg *cfg, unsigned vector)
+2 −4
Original line number Diff line number Diff line
@@ -39,14 +39,12 @@ void hyperv_vector_handler(struct pt_regs *regs)
{
	struct pt_regs *old_regs = set_irq_regs(regs);

	irq_enter();
	exit_idle();

	entering_irq();
	inc_irq_stat(irq_hv_callback_count);
	if (vmbus_handler)
		vmbus_handler();

	irq_exit();
	exiting_irq();
	set_irq_regs(old_regs);
}

+4 −12
Original line number Diff line number Diff line
@@ -198,8 +198,7 @@ __visible unsigned int __irq_entry do_IRQ(struct pt_regs *regs)
	unsigned vector = ~regs->orig_ax;
	unsigned irq;

	irq_enter();
	exit_idle();
	entering_irq();

	irq = __this_cpu_read(vector_irq[vector]);

@@ -215,7 +214,7 @@ __visible unsigned int __irq_entry do_IRQ(struct pt_regs *regs)
		}
	}

	irq_exit();
	exiting_irq();

	set_irq_regs(old_regs);
	return 1;
@@ -250,16 +249,9 @@ __visible void smp_kvm_posted_intr_ipi(struct pt_regs *regs)
{
	struct pt_regs *old_regs = set_irq_regs(regs);

	ack_APIC_irq();

	irq_enter();

	exit_idle();

	entering_ack_irq();
	inc_irq_stat(kvm_posted_intr_ipis);

	irq_exit();

	exiting_irq();
	set_irq_regs(old_regs);
}
#endif