diff options
author | Felix Held <felix-coreboot@felixheld.de> | 2022-10-25 18:18:36 +0200 |
---|---|---|
committer | Felix Held <felix-coreboot@felixheld.de> | 2022-10-26 17:44:47 +0000 |
commit | bf26485d36600384b10f0a2f934ab2cda47de114 (patch) | |
tree | 908bd610c7cf69608305021e72ff4c7c64924251 /src/mainboard/amd | |
parent | 886c1ffc652efe7e0d3345dfb34a38669041e467 (diff) |
soc/amd/common/include: introduce and use FCH_IRQ_ROUTING_ENTRIES
Instead of using magic constants for the fch_pic_routing and
fch_apic_routing array sizes, define FCH_IRQ_ROUTING_ENTRIES in the
common code headers and use this definition. This also allows to drop
the static assert for the array sizes. In the Stoneyridge mainboard code
the equivalent arrays are named mainboard_picr_data and
mainboard_intr_data; also use FCH_IRQ_ROUTING_ENTRIES as fixed array
size there.
Signed-off-by: Felix Held <felix-coreboot@felixheld.de>
Change-Id: I2d7ee46bd013ce413189398a144e46ceac0c2a10
Reviewed-on: https://review.coreboot.org/c/coreboot/+/68818
Reviewed-by: Fred Reitberger <reitbergerfred@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'src/mainboard/amd')
-rw-r--r-- | src/mainboard/amd/bilby/mainboard.c | 7 | ||||
-rw-r--r-- | src/mainboard/amd/birman/mainboard.c | 7 | ||||
-rw-r--r-- | src/mainboard/amd/chausie/mainboard.c | 7 | ||||
-rw-r--r-- | src/mainboard/amd/gardenia/mainboard.c | 4 | ||||
-rw-r--r-- | src/mainboard/amd/majolica/mainboard.c | 7 | ||||
-rw-r--r-- | src/mainboard/amd/mandolin/mainboard.c | 7 | ||||
-rw-r--r-- | src/mainboard/amd/pademelon/mainboard.c | 4 |
7 files changed, 14 insertions, 29 deletions
diff --git a/src/mainboard/amd/bilby/mainboard.c b/src/mainboard/amd/bilby/mainboard.c index c402c29a2f..324c72edef 100644 --- a/src/mainboard/amd/bilby/mainboard.c +++ b/src/mainboard/amd/bilby/mainboard.c @@ -27,11 +27,8 @@ * Index/Data pair. These values are chipset and mainboard * dependent and should be updated accordingly. */ -static uint8_t fch_pic_routing[0x80]; -static uint8_t fch_apic_routing[0x80]; - -_Static_assert(sizeof(fch_pic_routing) == sizeof(fch_apic_routing), - "PIC and APIC FCH interrupt tables must be the same size"); +static uint8_t fch_pic_routing[FCH_IRQ_ROUTING_ENTRIES]; +static uint8_t fch_apic_routing[FCH_IRQ_ROUTING_ENTRIES]; static const struct fch_irq_routing bilby_fch[] = { { PIRQ_A, 8, 16 }, diff --git a/src/mainboard/amd/birman/mainboard.c b/src/mainboard/amd/birman/mainboard.c index 34c3b4dead..8b27e37f51 100644 --- a/src/mainboard/amd/birman/mainboard.c +++ b/src/mainboard/amd/birman/mainboard.c @@ -18,11 +18,8 @@ * Index/Data pair. These values are chipset and mainboard * dependent and should be updated accordingly. */ -static uint8_t fch_pic_routing[0x80]; -static uint8_t fch_apic_routing[0x80]; - -_Static_assert(sizeof(fch_pic_routing) == sizeof(fch_apic_routing), - "PIC and APIC FCH interrupt tables must be the same size"); +static uint8_t fch_pic_routing[FCH_IRQ_ROUTING_ENTRIES]; +static uint8_t fch_apic_routing[FCH_IRQ_ROUTING_ENTRIES]; /* * This controls the device -> IRQ routing. diff --git a/src/mainboard/amd/chausie/mainboard.c b/src/mainboard/amd/chausie/mainboard.c index 9251ff2c91..0318e4333e 100644 --- a/src/mainboard/amd/chausie/mainboard.c +++ b/src/mainboard/amd/chausie/mainboard.c @@ -16,11 +16,8 @@ * Index/Data pair. These values are chipset and mainboard * dependent and should be updated accordingly. */ -static uint8_t fch_pic_routing[0x80]; -static uint8_t fch_apic_routing[0x80]; - -_Static_assert(sizeof(fch_pic_routing) == sizeof(fch_apic_routing), - "PIC and APIC FCH interrupt tables must be the same size"); +static uint8_t fch_pic_routing[FCH_IRQ_ROUTING_ENTRIES]; +static uint8_t fch_apic_routing[FCH_IRQ_ROUTING_ENTRIES]; /* * This controls the device -> IRQ routing. diff --git a/src/mainboard/amd/gardenia/mainboard.c b/src/mainboard/amd/gardenia/mainboard.c index b9c2eaf1c3..8a4da9ff1b 100644 --- a/src/mainboard/amd/gardenia/mainboard.c +++ b/src/mainboard/amd/gardenia/mainboard.c @@ -19,7 +19,7 @@ * These values are used by the PCI configuration space, * MP Tables. TODO: Make ACPI use these values too. */ -static const u8 mainboard_picr_data[] = { +static const u8 mainboard_picr_data[FCH_IRQ_ROUTING_ENTRIES] = { [0x00] = 0x03, 0x04, 0x05, 0x07, 0x0B, 0x0A, 0x1F, 0x1F, [0x08] = 0xFA, 0xF1, 0x00, 0x00, 0x1F, 0x1F, 0x1F, 0x1F, [0x10] = 0x1F, 0x1F, 0x1F, 0x03, 0x1F, 0x1F, 0x1F, 0x1F, @@ -38,7 +38,7 @@ static const u8 mainboard_picr_data[] = { [0x78] = 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, }; -static const u8 mainboard_intr_data[] = { +static const u8 mainboard_intr_data[FCH_IRQ_ROUTING_ENTRIES] = { [0x00] = 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, [0x08] = 0x00, 0x00, 0x00, 0x00, 0x1F, 0x1F, 0x1F, 0x1F, [0x10] = 0x09, 0x1F, 0x1F, 0x10, 0x1F, 0x1F, 0x1F, 0x10, diff --git a/src/mainboard/amd/majolica/mainboard.c b/src/mainboard/amd/majolica/mainboard.c index 58f754655f..32b29e4fe6 100644 --- a/src/mainboard/amd/majolica/mainboard.c +++ b/src/mainboard/amd/majolica/mainboard.c @@ -15,11 +15,8 @@ * Index/Data pair. These values are chipset and mainboard * dependent and should be updated accordingly. */ -static uint8_t fch_pic_routing[0x80]; -static uint8_t fch_apic_routing[0x80]; - -_Static_assert(sizeof(fch_pic_routing) == sizeof(fch_apic_routing), - "PIC and APIC FCH interrupt tables must be the same size"); +static uint8_t fch_pic_routing[FCH_IRQ_ROUTING_ENTRIES]; +static uint8_t fch_apic_routing[FCH_IRQ_ROUTING_ENTRIES]; /* * This controls the device -> IRQ routing. diff --git a/src/mainboard/amd/mandolin/mainboard.c b/src/mainboard/amd/mandolin/mainboard.c index 0f87d9c799..6ae3266154 100644 --- a/src/mainboard/amd/mandolin/mainboard.c +++ b/src/mainboard/amd/mandolin/mainboard.c @@ -22,11 +22,8 @@ * Index/Data pair. These values are chipset and mainboard * dependent and should be updated accordingly. */ -static uint8_t fch_pic_routing[0x80]; -static uint8_t fch_apic_routing[0x80]; - -_Static_assert(sizeof(fch_pic_routing) == sizeof(fch_apic_routing), - "PIC and APIC FCH interrupt tables must be the same size"); +static uint8_t fch_pic_routing[FCH_IRQ_ROUTING_ENTRIES]; +static uint8_t fch_apic_routing[FCH_IRQ_ROUTING_ENTRIES]; static const struct fch_irq_routing mandolin_fch[] = { { PIRQ_A, 8, 16 }, diff --git a/src/mainboard/amd/pademelon/mainboard.c b/src/mainboard/amd/pademelon/mainboard.c index a013e6ce89..2e55009094 100644 --- a/src/mainboard/amd/pademelon/mainboard.c +++ b/src/mainboard/amd/pademelon/mainboard.c @@ -20,7 +20,7 @@ * These values are used by the PCI configuration space, * MP Tables. */ -static const u8 mainboard_picr_data[] = { +static const u8 mainboard_picr_data[FCH_IRQ_ROUTING_ENTRIES] = { [0x00] = 0x03, 0x04, 0x05, 0x07, 0x0B, 0x0A, 0x1F, 0x1F, [0x08] = 0xFA, 0xF1, 0x00, 0x00, 0x1F, 0x1F, 0x1F, 0x1F, [0x10] = 0x1F, 0x1F, 0x1F, 0x03, 0x1F, 0x1F, 0x1F, 0x1F, @@ -39,7 +39,7 @@ static const u8 mainboard_picr_data[] = { [0x78] = 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, }; -static const u8 mainboard_intr_data[] = { +static const u8 mainboard_intr_data[FCH_IRQ_ROUTING_ENTRIES] = { [0x00] = 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, [0x08] = 0x00, 0x00, 0x00, 0x00, 0x1F, 0x1F, 0x1F, 0x1F, [0x10] = 0x09, 0x1F, 0x1F, 0x10, 0x1F, 0x1F, 0x1F, 0x10, |