|
@@ -45,8 +45,12 @@ void evergreen_pm_misc(struct radeon_device *rdev)
|
|
struct radeon_power_state *ps = &rdev->pm.power_state[requested_index];
|
|
struct radeon_power_state *ps = &rdev->pm.power_state[requested_index];
|
|
struct radeon_voltage *voltage = &ps->clock_info[0].voltage;
|
|
struct radeon_voltage *voltage = &ps->clock_info[0].voltage;
|
|
|
|
|
|
- if ((voltage->type == VOLTAGE_SW) && voltage->voltage)
|
|
|
|
- radeon_atom_set_voltage(rdev, voltage->voltage);
|
|
|
|
|
|
+ if ((voltage->type == VOLTAGE_SW) && voltage->voltage) {
|
|
|
|
+ if (voltage->voltage != rdev->pm.current_vddc) {
|
|
|
|
+ radeon_atom_set_voltage(rdev, voltage->voltage);
|
|
|
|
+ rdev->pm.current_vddc = voltage->voltage;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
void evergreen_pm_prepare(struct radeon_device *rdev)
|
|
void evergreen_pm_prepare(struct radeon_device *rdev)
|