From b9caac74a320a58ff0a60b33ec541f667082fd27 Mon Sep 17 00:00:00 2001 From: Tim Van Patten Date: Fri, 31 Mar 2023 17:16:50 -0600 Subject: soc/amd/mendocino: Reinterpret smu_power_and_thm_limit The FSP will return the TDP in the format 0xX0000, where 'X' is the value we're interested in. For example: 0xF0000 (15W), 0x60000 (6W). Re-interpret the value so the caller just sees the TDP directly, without needing to re-interpret things themselves. BUG=b:253301653 TEST=Manually verify value is correct Change-Id: I632e702d986a4ac85605040e09c1afab2bbdc59d Signed-off-by: Tim Van Patten Reviewed-on: https://review.coreboot.org/c/coreboot/+/74126 Reviewed-by: Felix Held Tested-by: build bot (Jenkins) --- src/soc/amd/mendocino/fsp_misc_data_hob.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/soc/amd/mendocino/fsp_misc_data_hob.c b/src/soc/amd/mendocino/fsp_misc_data_hob.c index 103f821355..3b51fd84c1 100644 --- a/src/soc/amd/mendocino/fsp_misc_data_hob.c +++ b/src/soc/amd/mendocino/fsp_misc_data_hob.c @@ -43,7 +43,14 @@ enum cb_err get_amd_smu_reported_tdp(uint32_t *tdp) if (get_amd_misc_data_hob(&fsp_misc_data, AMD_MISC_DATA_VERSION) != CB_SUCCESS) return CB_ERR; - *tdp = fsp_misc_data->smu_power_and_thm_limit; + /* + * The FSP will return the TDP in the format 0xX0000, where 'X' is the value + * we're interested in. For example: 0xF0000 (15W), 0x60000 (6W). Re-interpret + * the value so the caller just sees the TDP. + */ + printk(BIOS_INFO, "fsp_misc_data->smu_power_and_thm_limit = 0x%08X\n", + fsp_misc_data->smu_power_and_thm_limit); + *tdp = fsp_misc_data->smu_power_and_thm_limit >> 16; return CB_SUCCESS; } -- cgit v1.2.3