intel_crt_set_dpms(encoder, DRM_MODE_DPMS_OFF);
 }
 
+static void pch_disable_crt(struct intel_encoder *encoder)
+{
+}
+
+static void pch_post_disable_crt(struct intel_encoder *encoder)
+{
+       intel_disable_crt(encoder);
+}
 
 static void hsw_crt_post_disable(struct intel_encoder *encoder)
 {
                crt->adpa_reg = ADPA;
 
        crt->base.compute_config = intel_crt_compute_config;
-       crt->base.disable = intel_disable_crt;
+       if (HAS_PCH_SPLIT(dev) && !HAS_DDI(dev)) {
+               crt->base.disable = pch_disable_crt;
+               crt->base.post_disable = pch_post_disable_crt;
+       } else {
+               crt->base.disable = intel_disable_crt;
+       }
        crt->base.enable = intel_enable_crt;
        if (I915_HAS_HOTPLUG(dev))
                crt->base.hpd_pin = HPD_CRT;