aux_clock_divider = intel_dp->get_aux_clock_divider(intel_dp, 0);
 
-       /* Enable PSR in sink */
-       if (dev_priv->psr.link_standby)
-               drm_dp_dpcd_writeb(&intel_dp->aux, DP_PSR_EN_CFG,
-                                  DP_PSR_ENABLE | DP_PSR_MAIN_LINK_ACTIVE);
-       else
-               drm_dp_dpcd_writeb(&intel_dp->aux, DP_PSR_EN_CFG,
-                                  DP_PSR_ENABLE & ~DP_PSR_MAIN_LINK_ACTIVE);
+       drm_dp_dpcd_writeb(&intel_dp->aux, DP_PSR_EN_CFG,
+                          DP_PSR_ENABLE & ~DP_PSR_MAIN_LINK_ACTIVE);
 
        /* Enable AUX frame sync at sink */
        if (dev_priv->psr.aux_frame_sync)
                   (precharge << DP_AUX_CH_CTL_PRECHARGE_2US_SHIFT) |
                   (aux_clock_divider << DP_AUX_CH_CTL_BIT_CLOCK_2X_SHIFT));
        }
+
+       drm_dp_dpcd_writeb(&intel_dp->aux, DP_PSR_EN_CFG, DP_PSR_ENABLE);
 }
 
 static void vlv_psr_enable_source(struct intel_dp *intel_dp)
        uint32_t val = 0x0;
        const uint32_t link_entry_time = EDP_PSR_MIN_LINK_ENTRY_TIME_8_LINES;
 
-       if (dev_priv->psr.link_standby)
-               val |= EDP_PSR_LINK_STANDBY;
-
        if (intel_dp->psr_dpcd[1] & DP_PSR_NO_TRAIN_ON_EXIT) {
                /* It doesn't mean we shouldn't send TPS patters, so let's
                   send the minimal TP1 possible and skip TP2. */
                return false;
        }
 
+       if (!IS_VALLEYVIEW(dev) && ((dev_priv->vbt.psr.full_link) ||
+                                   (dig_port->port != PORT_A))) {
+               DRM_DEBUG_KMS("PSR condition failed: Link Standby requested/needed but not supported on this platform\n");
+               return false;
+       }
+
        dev_priv->psr.source_ok = true;
        return true;
 }
        if (!intel_psr_match_conditions(intel_dp))
                goto unlock;
 
-       /* First we check VBT, but we must respect sink and source
-        * known restrictions */
-       dev_priv->psr.link_standby = dev_priv->vbt.psr.full_link;
-       if (IS_BROADWELL(dev) && intel_dig_port->port != PORT_A)
-               dev_priv->psr.link_standby = true;
-
        dev_priv->psr.busy_frontbuffer_bits = 0;
 
        if (HAS_DDI(dev)) {