{
        struct drm_display_mode *preferred_mode = NULL;
        struct drm_connector *drm_connector;
-       const struct drm_connector_state *con_state =
-               dm_state ? &dm_state->base : NULL;
+       const struct drm_connector_state *con_state = &dm_state->base;
        struct dc_stream_state *stream = NULL;
        struct drm_display_mode mode;
        struct drm_display_mode saved_mode;
        struct drm_display_mode *freesync_mode = NULL;
        bool native_mode_found = false;
        bool recalculate_timing = false;
-       bool scale = dm_state ? (dm_state->scaling != RMX_OFF) : false;
+       bool scale = dm_state->scaling != RMX_OFF;
        int mode_refresh;
        int preferred_refresh = 0;
        enum color_transfer_func tf = TRANSFER_FUNC_UNKNOWN;
                goto fail;
        }
 
-       stream = create_validate_stream_for_sink(aconnector, mode, NULL, NULL);
+       stream = create_validate_stream_for_sink(aconnector, mode,
+                                                to_dm_connector_state(connector->state),
+                                                NULL);
        if (stream) {
                dc_stream_release(stream);
                result = MODE_OK;