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

Commit 70733e0c authored by Joerg Roedel's avatar Joerg Roedel
Browse files

x86, apic: Move irq_remapping_enabled checks into IRQ-remapping code



Move the three easy to move checks in the x86' apic.c file
into the IRQ-remapping code.

Signed-off-by: default avatarJoerg Roedel <joro@8bytes.org>
Acked-by: default avatarSebastian Andrzej Siewior <sebastian@breakpoint.cc>
Reviewed-by: default avatarKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
parent 5ca72c4f
Loading
Loading
Loading
Loading
+3 −6
Original line number Diff line number Diff line
@@ -1477,7 +1477,6 @@ void __init bsp_end_local_APIC_setup(void)
	 * Now that local APIC setup is completed for BP, configure the fault
	 * handling for interrupt remapping.
	 */
	if (irq_remapping_enabled)
	irq_remap_enable_fault_handling();

}
@@ -2251,7 +2250,6 @@ static int lapic_suspend(void)
	local_irq_save(flags);
	disable_local_APIC();

	if (irq_remapping_enabled)
	irq_remapping_disable();

	local_irq_restore(flags);
@@ -2320,7 +2318,6 @@ static void lapic_resume(void)
	apic_write(APIC_ESR, 0);
	apic_read(APIC_ESR);

	if (irq_remapping_enabled)
	irq_remapping_reenable(x2apic_mode);

	local_irq_restore(flags);
+9 −2
Original line number Diff line number Diff line
@@ -87,7 +87,9 @@ int __init irq_remapping_enable(void)

void irq_remapping_disable(void)
{
	if (!remap_ops || !remap_ops->disable)
	if (!irq_remapping_enabled ||
	    !remap_ops ||
	    !remap_ops->disable)
		return;

	remap_ops->disable();
@@ -95,7 +97,9 @@ void irq_remapping_disable(void)

int irq_remapping_reenable(int mode)
{
	if (!remap_ops || !remap_ops->reenable)
	if (!irq_remapping_enabled ||
	    !remap_ops ||
	    !remap_ops->reenable)
		return 0;

	return remap_ops->reenable(mode);
@@ -103,6 +107,9 @@ int irq_remapping_reenable(int mode)

int __init irq_remap_enable_fault_handling(void)
{
	if (!irq_remapping_enabled)
		return 0;

	if (!remap_ops || !remap_ops->enable_faulting)
		return -ENODEV;