u32 bus_flags = mxsfb->connector->display_info.bus_flags;
        int err;
 
-       /* Mandatory eLCDIF reset as per the Reference Manual */
-       err = mxsfb_reset_block(mxsfb);
-       if (err)
-               return;
-
-       mxsfb_set_formats(mxsfb, bus_format);
-
-       clk_set_rate(mxsfb->clk, m->crtc_clock * 1000);
-
        if (mxsfb->bridge && mxsfb->bridge->timings)
                bus_flags = mxsfb->bridge->timings->input_bus_flags;
 
                             bus_flags);
        DRM_DEV_DEBUG_DRIVER(drm->dev, "Mode flags: 0x%08X\n", m->flags);
 
+       /* Mandatory eLCDIF reset as per the Reference Manual */
+       err = mxsfb_reset_block(mxsfb);
+       if (err)
+               return;
+
+       mxsfb_set_formats(mxsfb, bus_format);
+
+       clk_set_rate(mxsfb->clk, m->crtc_clock * 1000);
+
        mxsfb_set_mode(mxsfb, bus_flags);
 }