struct drm_display_mode *adjusted_mode, int x, int y,
                          struct drm_framebuffer *old_fb)
 {
-       struct exynos_drm_crtc *exynos_crtc = to_exynos_crtc(crtc);
        struct drm_framebuffer *fb = crtc->primary->fb;
        unsigned int crtc_w;
        unsigned int crtc_h;
 
        crtc_w = fb->width - x;
        crtc_h = fb->height - y;
-
-       if (exynos_crtc->ops->mode_set)
-               exynos_crtc->ops->mode_set(exynos_crtc, &crtc->mode);
-
        return exynos_plane_mode_set(crtc->primary, crtc, fb, 0, 0,
                                     crtc_w, crtc_h, x, y, crtc_w, crtc_h);
 }
 
        struct clk                      *lcd_clk;
        void __iomem                    *regs;
        struct regmap                   *sysreg;
-       struct drm_display_mode         mode;
        struct fimd_win_data            win_data[WINDOWS_NR];
        unsigned int                    default_win;
        unsigned long                   irq_flags;
        return true;
 }
 
-static void fimd_mode_set(struct exynos_drm_crtc *crtc,
-               const struct drm_display_mode *in_mode)
-{
-       struct fimd_context *ctx = crtc->ctx;
-
-       drm_mode_copy(&ctx->mode, in_mode);
-}
-
 static void fimd_commit(struct exynos_drm_crtc *crtc)
 {
        struct fimd_context *ctx = crtc->ctx;
-       struct drm_display_mode *mode = &ctx->mode;
+       struct drm_display_mode *mode = &crtc->base.mode;
        struct fimd_driver_data *driver_data = ctx->driver_data;
        void *timing_base = ctx->regs + driver_data->timing_base;
        u32 val, clkdiv;
 static struct exynos_drm_crtc_ops fimd_crtc_ops = {
        .dpms = fimd_dpms,
        .mode_fixup = fimd_mode_fixup,
-       .mode_set = fimd_mode_set,
        .commit = fimd_commit,
        .enable_vblank = fimd_enable_vblank,
        .disable_vblank = fimd_disable_vblank,