diff options
Diffstat (limited to 'drivers/gpu/drm/radeon/r600.c')
-rw-r--r-- | drivers/gpu/drm/radeon/r600.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/gpu/drm/radeon/r600.c b/drivers/gpu/drm/radeon/r600.c index d152ceca5d37..acec26b70d0d 100644 --- a/drivers/gpu/drm/radeon/r600.c +++ b/drivers/gpu/drm/radeon/r600.c | |||
@@ -561,9 +561,12 @@ void r600_pm_misc(struct radeon_device *rdev) | |||
561 | struct radeon_power_state *ps = &rdev->pm.power_state[requested_index]; | 561 | struct radeon_power_state *ps = &rdev->pm.power_state[requested_index]; |
562 | struct radeon_voltage *voltage = &ps->clock_info[0].voltage; | 562 | struct radeon_voltage *voltage = &ps->clock_info[0].voltage; |
563 | 563 | ||
564 | if ((voltage->type == VOLTAGE_SW) && voltage->voltage) | 564 | if ((voltage->type == VOLTAGE_SW) && voltage->voltage) { |
565 | radeon_atom_set_voltage(rdev, voltage->voltage); | 565 | if (voltage->voltage != rdev->pm.current_vddc) { |
566 | 566 | radeon_atom_set_voltage(rdev, voltage->voltage); | |
567 | rdev->pm.current_vddc = voltage->voltage; | ||
568 | } | ||
569 | } | ||
567 | } | 570 | } |
568 | 571 | ||
569 | bool r600_gui_idle(struct radeon_device *rdev) | 572 | bool r600_gui_idle(struct radeon_device *rdev) |