intel_compare_dp_vsc_sdp(const struct drm_dp_vsc_sdp *a,
                         const struct drm_dp_vsc_sdp *b)
 {
-       return memcmp(a, b, sizeof(*a)) == 0;
+       return a->pixelformat == b->pixelformat &&
+               a->colorimetry == b->colorimetry &&
+               a->bpc == b->bpc &&
+               a->dynamic_range == b->dynamic_range &&
+               a->content_type == b->content_type;
 }
 
 static bool
 } while (0)
 
 #define PIPE_CONF_CHECK_DP_VSC_SDP(name) do { \
-       if (!current_config->has_psr && !pipe_config->has_psr && \
-           !intel_compare_dp_vsc_sdp(¤t_config->infoframes.name, \
+       if (!intel_compare_dp_vsc_sdp(¤t_config->infoframes.name, \
                                      &pipe_config->infoframes.name)) { \
                pipe_config_dp_vsc_sdp_mismatch(dev_priv, fastset, __stringify(name), \
                                                ¤t_config->infoframes.name, \
 
        struct dp_sdp sdp = {};
        int ret;
 
-       /* When PSR is enabled, VSC SDP is handled by PSR routine */
-       if (crtc_state->has_psr)
-               return;
-
        if ((crtc_state->infoframes.enable &
             intel_hdmi_infoframe_enable(type)) == 0)
                return;