From 6644d7c508a1a15d5a0c79f47cdf09585c99192f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ky=C3=B6sti=20M=C3=A4lkki?= Date: Sun, 6 Jun 2021 08:10:05 +0300 Subject: [PATCH] drivers/generic/ioapic: Drop enable_virtual_wire MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit All boards with DRIVERS_GENERIC_IOAPIC select it. Presumably the related configuration of routing IRQ0 when IOAPIC is enabled should be always done to provide i8259 legacy compatibility for payloads. Change-Id: Ie87816271fa63bba892c8615aa5e72ee68f6ba93 Signed-off-by: Kyösti Mälkki Reviewed-on: https://review.coreboot.org/c/coreboot/+/55287 Tested-by: build bot (Jenkins) Reviewed-by: Angel Pons Reviewed-by: Nico Huber --- src/arch/x86/include/arch/ioapic.h | 1 - src/arch/x86/ioapic.c | 12 ++---------- src/drivers/generic/ioapic/chip.h | 1 - src/drivers/generic/ioapic/ioapic.c | 2 +- src/mainboard/lenovo/t400/devicetree.cb | 1 - src/mainboard/lenovo/x200/devicetree.cb | 1 - src/mainboard/roda/rk9/devicetree.cb | 1 - src/mainboard/samsung/lumpy/devicetree.cb | 1 - 8 files changed, 3 insertions(+), 17 deletions(-) diff --git a/src/arch/x86/include/arch/ioapic.h b/src/arch/x86/include/arch/ioapic.h index 372cb79e9f..99536d4dfd 100644 --- a/src/arch/x86/include/arch/ioapic.h +++ b/src/arch/x86/include/arch/ioapic.h @@ -35,7 +35,6 @@ 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 setup_ioapic_helper(void *ioapic_base, u8 ioapic_id, bool enable_virtual_wire); #endif #endif diff --git a/src/arch/x86/ioapic.c b/src/arch/x86/ioapic.c index a11e5dd9b3..61fed890d1 100644 --- a/src/arch/x86/ioapic.c +++ b/src/arch/x86/ioapic.c @@ -136,17 +136,9 @@ void ioapic_set_boot_config(void *ioapic_base, bool irq_on_fsb) } } -void setup_ioapic_helper(void *ioapic_base, u8 ioapic_id, bool enable_virtual_wire) +void setup_ioapic(void *ioapic_base, u8 ioapic_id) { set_ioapic_id(ioapic_base, ioapic_id); clear_ioapic(ioapic_base); - - if (enable_virtual_wire) - route_i8259_irq0(ioapic_base); -} - - -void setup_ioapic(void *ioapic_base, u8 ioapic_id) -{ - setup_ioapic_helper(ioapic_base, ioapic_id, true); + route_i8259_irq0(ioapic_base); } diff --git a/src/drivers/generic/ioapic/chip.h b/src/drivers/generic/ioapic/chip.h index 9a9395f714..a5fbeab5d4 100644 --- a/src/drivers/generic/ioapic/chip.h +++ b/src/drivers/generic/ioapic/chip.h @@ -6,7 +6,6 @@ typedef struct drivers_generic_ioapic_config { u32 version; u8 apicid; - u8 enable_virtual_wire; u8 have_isa_interrupts; void *base; } ioapic_config_t; diff --git a/src/drivers/generic/ioapic/ioapic.c b/src/drivers/generic/ioapic/ioapic.c index 4a8bcf8177..b286af3c14 100644 --- a/src/drivers/generic/ioapic/ioapic.c +++ b/src/drivers/generic/ioapic/ioapic.c @@ -13,7 +13,7 @@ static void ioapic_init(struct device *dev) if (!dev->enabled || !config) return; - setup_ioapic_helper(config->base, config->apicid, config->enable_virtual_wire); + setup_ioapic(config->base, config->apicid); } static void ioapic_read_resources(struct device *dev) diff --git a/src/mainboard/lenovo/t400/devicetree.cb b/src/mainboard/lenovo/t400/devicetree.cb index ae389de5dd..670b4883f3 100644 --- a/src/mainboard/lenovo/t400/devicetree.cb +++ b/src/mainboard/lenovo/t400/devicetree.cb @@ -143,7 +143,6 @@ chip northbridge/intel/gm45 chip drivers/generic/ioapic register "have_isa_interrupts" = "1" - register "enable_virtual_wire" = "1" register "base" = "(void *)0xfec00000" device ioapic 2 on end end diff --git a/src/mainboard/lenovo/x200/devicetree.cb b/src/mainboard/lenovo/x200/devicetree.cb index 4db554b50b..dd631a7034 100644 --- a/src/mainboard/lenovo/x200/devicetree.cb +++ b/src/mainboard/lenovo/x200/devicetree.cb @@ -133,7 +133,6 @@ chip northbridge/intel/gm45 chip drivers/generic/ioapic register "have_isa_interrupts" = "1" - register "enable_virtual_wire" = "1" register "base" = "(void *)0xfec00000" device ioapic 2 on end end diff --git a/src/mainboard/roda/rk9/devicetree.cb b/src/mainboard/roda/rk9/devicetree.cb index 0af98373ca..cc5d76390f 100644 --- a/src/mainboard/roda/rk9/devicetree.cb +++ b/src/mainboard/roda/rk9/devicetree.cb @@ -121,7 +121,6 @@ chip northbridge/intel/gm45 device pci 1f.0 on # LPC bridge chip drivers/generic/ioapic register "have_isa_interrupts" = "1" - register "enable_virtual_wire" = "1" register "base" = "(void *)0xfec00000" device ioapic 2 on end end diff --git a/src/mainboard/samsung/lumpy/devicetree.cb b/src/mainboard/samsung/lumpy/devicetree.cb index 13a2299086..1aab76de9c 100644 --- a/src/mainboard/samsung/lumpy/devicetree.cb +++ b/src/mainboard/samsung/lumpy/devicetree.cb @@ -107,7 +107,6 @@ chip northbridge/intel/sandybridge chip drivers/generic/ioapic register "have_isa_interrupts" = "1" - register "enable_virtual_wire" = "1" register "base" = "(void *)0xfec00000" device ioapic 4 on end end