sb/amd/cimx/sb800: Clear IOAPIC vectors only once
Change-Id: I640d17cdee2bdaa4fe7049ce66a327b58924bc6f Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/55288 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Michał Żygowski <michal.zygowski@3mdeb.com>
This commit is contained in:
@@ -32,7 +32,6 @@ void set_ioapic_id(void *ioapic_base, u8 ioapic_id);
|
|||||||
u8 get_ioapic_id(void *ioapic_base);
|
u8 get_ioapic_id(void *ioapic_base);
|
||||||
u8 get_ioapic_version(void *ioapic_base);
|
u8 get_ioapic_version(void *ioapic_base);
|
||||||
void setup_ioapic(void *ioapic_base, u8 ioapic_id);
|
void setup_ioapic(void *ioapic_base, u8 ioapic_id);
|
||||||
void clear_ioapic(void *ioapic_base);
|
|
||||||
|
|
||||||
void ioapic_set_boot_config(void *ioapic_base, bool irq_on_fsb);
|
void ioapic_set_boot_config(void *ioapic_base, bool irq_on_fsb);
|
||||||
#endif
|
#endif
|
||||||
|
@@ -60,11 +60,6 @@ static void clear_vectors(void *ioapic_base, u8 first, u8 last)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void clear_ioapic(void *ioapic_base)
|
|
||||||
{
|
|
||||||
clear_vectors(ioapic_base, 0, ioapic_interrupt_count(ioapic_base) - 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void route_i8259_irq0(void *ioapic_base)
|
static void route_i8259_irq0(void *ioapic_base)
|
||||||
{
|
{
|
||||||
u32 bsp_lapicid = lapicid();
|
u32 bsp_lapicid = lapicid();
|
||||||
@@ -139,6 +134,6 @@ void ioapic_set_boot_config(void *ioapic_base, bool irq_on_fsb)
|
|||||||
void setup_ioapic(void *ioapic_base, u8 ioapic_id)
|
void setup_ioapic(void *ioapic_base, u8 ioapic_id)
|
||||||
{
|
{
|
||||||
set_ioapic_id(ioapic_base, ioapic_id);
|
set_ioapic_id(ioapic_base, ioapic_id);
|
||||||
clear_ioapic(ioapic_base);
|
clear_vectors(ioapic_base, 0, ioapic_interrupt_count(ioapic_base) - 1);
|
||||||
route_i8259_irq0(ioapic_base);
|
route_i8259_irq0(ioapic_base);
|
||||||
}
|
}
|
||||||
|
@@ -340,7 +340,6 @@ static void sb800_enable(struct device *dev)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case PCI_DEVFN(0x14, 0): /* 0:14:0 SMBUS */
|
case PCI_DEVFN(0x14, 0): /* 0:14:0 SMBUS */
|
||||||
clear_ioapic(VIO_APIC_VADDR);
|
|
||||||
/* Assign the ioapic ID the next available number after the processor core local APIC IDs */
|
/* Assign the ioapic ID the next available number after the processor core local APIC IDs */
|
||||||
setup_ioapic(VIO_APIC_VADDR, CONFIG_MAX_CPUS);
|
setup_ioapic(VIO_APIC_VADDR, CONFIG_MAX_CPUS);
|
||||||
break;
|
break;
|
||||||
|
Reference in New Issue
Block a user