DF-3706 / fix.diff
--- a/sys/dev/drm/amd/powerplay/hwmgr/vega10_hwmgr.c +++ b/sys/dev/drm/amd/powerplay/hwmgr/vega10_hwmgr.c @@ -1229,7 +1229,8 @@ static int vega10_setup_default_pcie_tabl "Incorrect number of PCIE States from VBIOS!", return -1); - for (i = 0; i < NUM_LINK_LEVELS; i++) { + for (i = 0; i < NUM_LINK_LEVELS && i < bios_pcie_table->count; i++) { if (data->registry_data.pcieSpeedOverride) pcie_table->pcie_gen[i] = data->registry_data.pcieSpeedOverride; @@ -1252,7 +1253,8 @@ static int vega10_setup_default_pcie_tabl pcie_table->lclk[i] = bios_pcie_table->entries[i].pcie_sclk; } - pcie_table->count = NUM_LINK_LEVELS; + /* vega10_populate_smc_link_levels pads missing levels from level i-1 */ + pcie_table->count = i; return 0; } |