void i915_driver_shutdown(struct drm_i915_private *i915)
 {
        disable_rpm_wakeref_asserts(&i915->runtime_pm);
+       intel_runtime_pm_disable(&i915->runtime_pm);
+       intel_power_domains_disable(i915);
 
        i915_gem_suspend(i915);
 
        intel_suspend_encoders(i915);
        intel_shutdown_encoders(i915);
 
+       /*
+        * The only requirement is to reboot with display DC states disabled,
+        * for now leaving all display power wells in the INIT power domain
+        * enabled matching the driver reload sequence.
+        */
+       intel_power_domains_driver_remove(i915);
        enable_rpm_wakeref_asserts(&i915->runtime_pm);
+
+       intel_runtime_pm_driver_release(&i915->runtime_pm);
 }
 
 static bool suspend_to_idle(struct drm_i915_private *dev_priv)