--- a/sys/dev/drm/amd/powerplay/smumgr/polaris10_smumgr.c +++ b/sys/dev/drm/amd/powerplay/smumgr/polaris10_smumgr.c @@ -400,14 +400,14 @@ VOLTAGE_SCALE) << VDDCI_SHIFT; else if (dep_table->entries[i-1].vddci) { vddci = phm_find_closest_vddci(&(data->vddci_voltage_table), - (dep_table->entries[i].vddc - + (dep_table->entries[i - 1].vddc - (uint16_t)VDDC_VDDCI_DELTA)); *voltage |= (vddci * VOLTAGE_SCALE) << VDDCI_SHIFT; } if (SMU7_VOLTAGE_CONTROL_NONE == data->mvdd_control) *mvdd = data->vbios_boot_state.mvdd_bootup_value * VOLTAGE_SCALE; - else if (dep_table->entries[i].mvdd) + else if (dep_table->entries[i - 1].mvdd) *mvdd = (uint32_t) dep_table->entries[i - 1].mvdd * VOLTAGE_SCALE; return 0;