summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFelix Held <felix-coreboot@felixheld.de>2024-01-11 21:50:36 +0100
committerFelix Held <felix-coreboot@felixheld.de>2024-01-13 17:17:54 +0000
commitd459403e651207a1e8ecd5308ff82286c4adeae7 (patch)
tree727e4579539f397079eb3b6bcf7ba51fca5ec2a5
parent55380631f4d02dc06bbdf2295d5c2df8deac9b5b (diff)
lib/smbios: add segment_group parameter to smbios_write_type9
Signed-off-by: Felix Held <felix-coreboot@felixheld.de> Change-Id: I48b393913913db8436f5cbca04d7411e68a53cf7 Reviewed-on: https://review.coreboot.org/c/coreboot/+/79925 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Johnny Lin <Johnny_Lin@wiwynn.com> Reviewed-by: Patrick Rudolph <patrick.rudolph@9elements.com>
-rw-r--r--src/include/smbios.h3
-rw-r--r--src/lib/smbios.c6
-rw-r--r--src/mainboard/ocp/deltalake/ramstage.c1
3 files changed, 7 insertions, 3 deletions
diff --git a/src/include/smbios.h b/src/include/smbios.h
index f02b48b0c0..f82198002f 100644
--- a/src/include/smbios.h
+++ b/src/include/smbios.h
@@ -32,7 +32,8 @@ int smbios_write_type9(unsigned long *current, int *handle,
const enum slot_data_bus_bandwidth bandwidth,
const enum misc_slot_usage usage,
const enum misc_slot_length length,
- const u16 id, u8 slot_char1, u8 slot_char2, u8 bus, u8 dev_func);
+ const u16 id, u8 slot_char1, u8 slot_char2,
+ u8 segment_group, u8 bus, u8 dev_func);
enum smbios_bmc_interface_type;
int smbios_write_type38(unsigned long *current, int *handle,
const enum smbios_bmc_interface_type interface_type,
diff --git a/src/lib/smbios.c b/src/lib/smbios.c
index 3ef3c21bca..fb68b4f376 100644
--- a/src/lib/smbios.c
+++ b/src/lib/smbios.c
@@ -639,7 +639,8 @@ int smbios_write_type9(unsigned long *current, int *handle,
const enum slot_data_bus_bandwidth bandwidth,
const enum misc_slot_usage usage,
const enum misc_slot_length length,
- const u16 id, u8 slot_char1, u8 slot_char2, u8 bus, u8 dev_func)
+ const u16 id, u8 slot_char1, u8 slot_char2,
+ u8 segment_group, u8 bus, u8 dev_func)
{
struct smbios_type9 *t = smbios_carve_table(*current, SMBIOS_SYSTEM_SLOTS,
sizeof(*t), *handle);
@@ -653,7 +654,7 @@ int smbios_write_type9(unsigned long *current, int *handle,
t->slot_length = length;
t->slot_characteristics_1 = slot_char1;
t->slot_characteristics_2 = slot_char2;
- t->segment_group_number = 0;
+ t->segment_group_number = segment_group;
t->bus_number = bus;
t->device_function_number = dev_func;
t->data_bus_width = SlotDataBusWidthOther;
@@ -1166,6 +1167,7 @@ static int smbios_generate_type9_from_devtree(struct device *dev, int *handle,
0,
1,
0,
+ 0,
dev->bus->secondary,
dev->path.pci.devfn);
}
diff --git a/src/mainboard/ocp/deltalake/ramstage.c b/src/mainboard/ocp/deltalake/ramstage.c
index d553392e16..c24d004ed0 100644
--- a/src/mainboard/ocp/deltalake/ramstage.c
+++ b/src/mainboard/ocp/deltalake/ramstage.c
@@ -278,6 +278,7 @@ static int create_smbios_type9(int *handle, unsigned long *current)
slot_id,
characteristics_1,
characteristics_2,
+ 0, /* segment group */
stack_busnos[slotinfo[index].stack],
slotinfo[index].dev_func);
}