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 <timvp@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/74126
Reviewed-by: Felix Held <felix-coreboot@felixheld.de>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
Tim Van Patten 2023-03-31 17:16:50 -06:00 committed by Felix Held
parent 177e135136
commit b9caac74a3
1 changed files with 8 additions and 1 deletions

View File

@ -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;
}