DF-3939 / fix.diff
--- a/sys/dev/drm/amd/powerplay/smumgr/ci_smumgr.c +++ b/sys/dev/drm/amd/powerplay/smumgr/ci_smumgr.c @@ -1655,11 +1655,13 @@ static int ci_program_memory_timing_parameters(struct pp_hwmgr *hwmgr) memset(&arb_regs, 0x00, sizeof(SMU7_Discrete_MCArbDramTimingTable)); - for (i = 0; i < data->dpm_table.sclk_table.count; i++) { - for (j = 0; j < data->dpm_table.mclk_table.count; j++) { + for (i = 0; i < data->dpm_table.sclk_table.count && + i < SMU7_MAX_LEVELS_GRAPHICS; i++) { + for (j = 0; j < data->dpm_table.mclk_table.count && + j < SMU7_MAX_LEVELS_MEMORY; j++) { result = ci_populate_memory_timing_parameters (hwmgr, data->dpm_table.sclk_table.dpm_levels[i].value, data->dpm_table.mclk_table.dpm_levels[j].value, &arb_regs.entries[i][j]); if (0 != result) |