diff --git a/drivers/gpu/drm/radeon/radeon_pm.c b/drivers/gpu/drm/radeon/radeon_pm.c index 3b1b2bf..b1c5bee 100644 --- a/drivers/gpu/drm/radeon/radeon_pm.c +++ b/drivers/gpu/drm/radeon/radeon_pm.c @@ -167,13 +167,19 @@ static void radeon_set_power_state(struct radeon_device *rdev) if (radeon_gui_idle(rdev)) { sclk = rdev->pm.power_state[rdev->pm.requested_power_state_index]. clock_info[rdev->pm.requested_clock_mode_index].sclk; - if (sclk > rdev->pm.default_sclk) - sclk = rdev->pm.default_sclk; + printk(KERN_ERR "radeon_set_power_state sclk %d\n", sclk); + printk(KERN_ERR "radeon_set_power_state clock.default_sclk %d\n", rdev->clock.default_sclk); + printk(KERN_ERR "radeon_set_power_state pm.default_sclk %d\n", rdev->pm.default_sclk); + if (sclk > rdev->clock.default_sclk) + sclk = rdev->clock.default_sclk; mclk = rdev->pm.power_state[rdev->pm.requested_power_state_index]. clock_info[rdev->pm.requested_clock_mode_index].mclk; - if (mclk > rdev->pm.default_mclk) - mclk = rdev->pm.default_mclk; + printk(KERN_ERR "radeon_set_power_state mclk %d\n", mclk); + printk(KERN_ERR "radeon_set_power_state clock.default_mclk %d\n", rdev->clock.default_mclk); + printk(KERN_ERR "radeon_set_power_state pm.default_mclk %d\n", rdev->pm.default_mclk); + if (mclk > rdev->clock.default_mclk) + mclk = rdev->clock.default_mclk; /* upvolt before raising clocks, downvolt after lowering clocks */ if (sclk < rdev->pm.current_sclk) @@ -543,8 +549,12 @@ void radeon_pm_resume(struct radeon_device *rdev) mutex_lock(&rdev->pm.mutex); rdev->pm.current_power_state_index = rdev->pm.default_power_state_index; rdev->pm.current_clock_mode_index = 0; - rdev->pm.current_sclk = rdev->pm.default_sclk; - rdev->pm.current_mclk = rdev->pm.default_mclk; + printk(KERN_ERR "radeon_pm_resume clock.default_sclk %d\n", rdev->clock.default_sclk); + printk(KERN_ERR "radeon_pm_resume pm.default_sclk %d\n", rdev->pm.default_sclk); + printk(KERN_ERR "radeon_pm_resume clock.default_mclk %d\n", rdev->clock.default_mclk); + printk(KERN_ERR "radeon_pm_resume pm.default_mclk %d\n", rdev->pm.default_mclk); + rdev->pm.current_sclk = rdev->clock.default_sclk; + rdev->pm.current_mclk = rdev->clock.default_mclk; rdev->pm.current_vddc = rdev->pm.power_state[rdev->pm.default_power_state_index].clock_info[0].voltage.voltage; if (rdev->pm.pm_method == PM_METHOD_DYNPM && rdev->pm.dynpm_state == DYNPM_STATE_SUSPENDED) { @@ -559,6 +569,8 @@ void radeon_pm_resume(struct radeon_device *rdev) int radeon_pm_init(struct radeon_device *rdev) { int ret; + printk(KERN_ERR "radeon_pm_init clock.default_sclk %d\n", rdev->clock.default_sclk); + printk(KERN_ERR "radeon_pm_init clock.default_mclk %d\n", rdev->clock.default_mclk); /* default to profile method */ rdev->pm.pm_method = PM_METHOD_PROFILE;