From f06d7d7003b788c74b0fb6ab8fefaa4524cf2808 Mon Sep 17 00:00:00 2001 From: Felix Held Date: Tue, 14 Jul 2020 00:23:11 +0200 Subject: amd/picasso: rework DXIO and DDI UPD handling Turning the DXIO and DDI descriptor fields in the FSP_S_CONFIG struct into arrays allows to properly iterate over the fields. BUG=b:158695393 TEST=Mandolin still boots. Change-Id: I85debe4d52399e933768b89b665ff10c9f7779f8 Signed-off-by: Felix Held Reviewed-on: https://review.coreboot.org/c/coreboot/+/43434 Reviewed-by: Aaron Durbin Reviewed-by: Angel Pons Tested-by: build bot (Jenkins) --- src/soc/amd/picasso/fsp_params.c | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) (limited to 'src/soc/amd/picasso/fsp_params.c') diff --git a/src/soc/amd/picasso/fsp_params.c b/src/soc/amd/picasso/fsp_params.c index 10bca005e7..80d43fb245 100644 --- a/src/soc/amd/picasso/fsp_params.c +++ b/src/soc/amd/picasso/fsp_params.c @@ -59,13 +59,9 @@ static void fill_pcie_descriptors(FSP_S_CONFIG *scfg, const fsp_pcie_descriptor *descs, size_t num) { size_t i; - fsp_pcie_descriptor *fsp_pcie; - - /* FIXME: this violates C rules. */ - fsp_pcie = (fsp_pcie_descriptor *)(scfg->dxio_descriptor0); for (i = 0; i < num; i++) { - fsp_pcie[i] = descs[i]; + memcpy(scfg->dxio_descriptor[i], &descs[i], sizeof(scfg->dxio_descriptor[0])); } } @@ -73,13 +69,9 @@ static void fill_ddi_descriptors(FSP_S_CONFIG *scfg, const fsp_ddi_descriptor *descs, size_t num) { size_t i; - fsp_ddi_descriptor *fsp_ddi; - - /* FIXME: this violates C rules. */ - fsp_ddi = (fsp_ddi_descriptor *)&(scfg->ddi_descriptor0); for (i = 0; i < num; i++) { - fsp_ddi[i] = descs[i]; + memcpy(&scfg->ddi_descriptor[i], &descs[i], sizeof(scfg->ddi_descriptor[0])); } } static void fsp_fill_pcie_ddi_descriptors(FSP_S_CONFIG *scfg) -- cgit v1.2.3