From d459403e651207a1e8ecd5308ff82286c4adeae7 Mon Sep 17 00:00:00 2001 From: Felix Held Date: Thu, 11 Jan 2024 21:50:36 +0100 Subject: [PATCH] lib/smbios: add segment_group parameter to smbios_write_type9 Signed-off-by: Felix Held Change-Id: I48b393913913db8436f5cbca04d7411e68a53cf7 Reviewed-on: https://review.coreboot.org/c/coreboot/+/79925 Tested-by: build bot (Jenkins) Reviewed-by: Johnny Lin Reviewed-by: Patrick Rudolph --- src/include/smbios.h | 3 ++- src/lib/smbios.c | 6 ++++-- src/mainboard/ocp/deltalake/ramstage.c | 1 + 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); }