summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKyösti Mälkki <kyosti.malkki@gmail.com>2021-06-06 08:10:05 +0300
committerKyösti Mälkki <kyosti.malkki@gmail.com>2021-10-17 18:09:01 +0000
commit6644d7c508a1a15d5a0c79f47cdf09585c99192f (patch)
tree2847a562ebffd653a0d95d62fafade88ba443ae4
parentf6611a2ea8d9288e57ce08b9190b3e401c18edd5 (diff)
drivers/generic/ioapic: Drop enable_virtual_wire
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 <kyosti.malkki@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/55287 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Angel Pons <th3fanbus@gmail.com> Reviewed-by: Nico Huber <nico.h@gmx.de>
-rw-r--r--src/arch/x86/include/arch/ioapic.h1
-rw-r--r--src/arch/x86/ioapic.c12
-rw-r--r--src/drivers/generic/ioapic/chip.h1
-rw-r--r--src/drivers/generic/ioapic/ioapic.c2
-rw-r--r--src/mainboard/lenovo/t400/devicetree.cb1
-rw-r--r--src/mainboard/lenovo/x200/devicetree.cb1
-rw-r--r--src/mainboard/roda/rk9/devicetree.cb1
-rw-r--r--src/mainboard/samsung/lumpy/devicetree.cb1
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