*/
                if (INTEL_INFO(dev)->gen > 5)
                        intel_reset_gt_powersave(dev);
+
+               if (IS_GEN4(dev) && !IS_G4X(dev)) {
+                       intel_runtime_pm_disable_interrupts(dev_priv);
+                       intel_runtime_pm_enable_interrupts(dev_priv);
+
+                       intel_modeset_init_hw(dev);
+
+                       spin_lock_irq(&dev_priv->irq_lock);
+                       if (dev_priv->display.hpd_irq_setup)
+                               dev_priv->display.hpd_irq_setup(dev);
+                       spin_unlock_irq(&dev_priv->irq_lock);
+
+                       drm_modeset_lock_all(dev);
+                       intel_modeset_setup_hw_state(dev, true);
+                       drm_modeset_unlock_all(dev);
+
+                       intel_hpd_init(dev_priv);
+               }
        } else {
                mutex_unlock(&dev->struct_mutex);
        }