drm/radeon/kms/pm: restore default power state on exit
[safe/jmp/linux-2.6] / drivers / gpu / drm / radeon / radeon_pm.c
index 87814eb..23b79eb 100644 (file)
@@ -125,6 +125,15 @@ int radeon_pm_init(struct radeon_device *rdev)
 
 void radeon_pm_fini(struct radeon_device *rdev)
 {
+       if (rdev->pm.state != PM_STATE_DISABLED) {
+               /* cancel work */
+               cancel_delayed_work_sync(&rdev->pm.idle_work);
+               /* reset default clocks */
+               rdev->pm.state = PM_STATE_DISABLED;
+               rdev->pm.planned_action = PM_ACTION_DEFAULT;
+               radeon_pm_set_clocks(rdev);
+       }
+
        if (rdev->pm.i2c_bus)
                radeon_i2c_destroy(rdev->pm.i2c_bus);
 }