DF-4069 / fix.diff
--- a/sys/dev/drm/amd/powerplay/smumgr/vegam_smumgr.c +++ b/sys/dev/drm/amd/powerplay/smumgr/vegam_smumgr.c @@ vegam_populate_all_graphic_levels @@ - uint32_t i, max_entry; + uint32_t i, max_entry, sclk_count; @@ - for (i = 0; i < dpm_table->sclk_table.count; i++) { + sclk_count = min(dpm_table->sclk_table.count, + (uint32_t)SMU75_MAX_LEVELS_GRAPHICS); + for (i = 0; i < sclk_count; i++) { @@ - smu_data->smc_state_table.GraphicsDpmLevelCount = - (uint8_t)dpm_table->sclk_table.count; + smu_data->smc_state_table.GraphicsDpmLevelCount = (uint8_t)sclk_count; @@ - for (i = 0; i < dpm_table->sclk_table.count; i++) + for (i = 0; i < sclk_count; i++) levels[i].EnabledForActivity = @@ - for (i = 0; i < dpm_table->sclk_table.count; i++) + for (i = 0; i < sclk_count; i++) levels[i].pcieDpmLevel = |