#include "intel_atomic.h"
 #include "intel_display_types.h"
 #include "intel_hdcp.h"
+#include "intel_psr.h"
 #include "intel_sprite.h"
 
 /**
        struct drm_crtc_state *crtc_state;
 
        intel_hdcp_atomic_check(conn, old_state, new_state);
+       intel_psr_atomic_check(conn, old_state, new_state);
 
        if (!new_state->crtc)
                return 0;
 
 
        return ret;
 }
+
+void intel_psr_atomic_check(struct drm_connector *connector,
+                           struct drm_connector_state *old_state,
+                           struct drm_connector_state *new_state)
+{
+       struct drm_i915_private *dev_priv = to_i915(connector->dev);
+       struct intel_connector *intel_connector;
+       struct intel_digital_port *dig_port;
+       struct drm_crtc_state *crtc_state;
+
+       if (!CAN_PSR(dev_priv) || !new_state->crtc ||
+           dev_priv->psr.initially_probed)
+               return;
+
+       intel_connector = to_intel_connector(connector);
+       dig_port = enc_to_dig_port(&intel_connector->encoder->base);
+       if (dev_priv->psr.dp != &dig_port->dp)
+               return;
+
+       crtc_state = drm_atomic_get_new_crtc_state(new_state->state,
+                                                  new_state->crtc);
+       crtc_state->mode_changed = true;
+       dev_priv->psr.initially_probed = true;
+}
 
 
 #include "intel_frontbuffer.h"
 
+struct drm_connector;
+struct drm_connector_state;
 struct drm_i915_private;
 struct intel_crtc_state;
 struct intel_dp;
 int intel_psr_wait_for_idle(const struct intel_crtc_state *new_crtc_state,
                            u32 *out_value);
 bool intel_psr_enabled(struct intel_dp *intel_dp);
+void intel_psr_atomic_check(struct drm_connector *connector,
+                           struct drm_connector_state *old_state,
+                           struct drm_connector_state *new_state);
 
 #endif /* __INTEL_PSR_H__ */