soc/amd: Clarify ACPI _PRT entry generation
The reference to a constant FCH IOAPIC interrupt count used with GNB IOAPIC was a bit obscure. Change-Id: I2d862e37424f9fea7f269cd09e9e90056531b643 Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/74314 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Arthur Heymans <arthur@aheymans.xyz> Reviewed-by: Felix Held <felix-coreboot@felixheld.de>
This commit is contained in:
parent
d1534e41e4
commit
ef9c2922d2
|
@ -5,7 +5,6 @@
|
||||||
|
|
||||||
#define IO_APIC_ADDR 0xfec00000
|
#define IO_APIC_ADDR 0xfec00000
|
||||||
#define VIO_APIC_VADDR ((u8 *)IO_APIC_ADDR)
|
#define VIO_APIC_VADDR ((u8 *)IO_APIC_ADDR)
|
||||||
#define IO_APIC_INTERRUPTS 24
|
|
||||||
|
|
||||||
#ifndef __ACPI__
|
#ifndef __ACPI__
|
||||||
|
|
||||||
|
|
|
@ -7,20 +7,22 @@
|
||||||
#include <arch/ioapic.h>
|
#include <arch/ioapic.h>
|
||||||
#include <device/device.h>
|
#include <device/device.h>
|
||||||
|
|
||||||
|
/* GNB IO-APIC is located after the FCH IO-APIC */
|
||||||
|
#define FCH_IOAPIC_INTERRUPTS 24
|
||||||
|
#define GNB_GSI_BASE FCH_IOAPIC_INTERRUPTS
|
||||||
|
|
||||||
static void acpigen_write_PRT_GSI(const struct pci_routing_info *routing_info)
|
static void acpigen_write_PRT_GSI(const struct pci_routing_info *routing_info)
|
||||||
{
|
{
|
||||||
unsigned int irq;
|
unsigned int irq;
|
||||||
|
|
||||||
acpigen_write_package(4); /* Package - APIC Routing */
|
acpigen_write_package(4); /* Package - APIC Routing */
|
||||||
for (unsigned int i = 0; i < 4; ++i) {
|
for (unsigned int i = 0; i < 4; ++i) {
|
||||||
/* GNB IO-APIC is located after the FCH IO-APIC */
|
irq = pci_calculate_irq(routing_info, i);
|
||||||
irq = IO_APIC_INTERRUPTS;
|
|
||||||
irq += pci_calculate_irq(routing_info, i);
|
|
||||||
|
|
||||||
acpigen_write_PRT_GSI_entry(
|
acpigen_write_PRT_GSI_entry(
|
||||||
0, /* There is only one device attached to the bridge */
|
0, /* There is only one device attached to the bridge */
|
||||||
i, /* pin */
|
i, /* pin */
|
||||||
irq);
|
GNB_GSI_BASE + irq);
|
||||||
}
|
}
|
||||||
acpigen_pop_len(); /* Package - APIC Routing */
|
acpigen_pop_len(); /* Package - APIC Routing */
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue