writel(ctrl, mxsfb->base + LCDC_AS_CTRL);
 }
 
+static void mxsfb_plane_overlay_atomic_disable(struct drm_plane *plane,
+                                              struct drm_atomic_state *state)
+{
+       struct mxsfb_drm_private *mxsfb = to_mxsfb_drm_private(plane->dev);
+
+       writel(0, mxsfb->base + LCDC_AS_CTRL);
+}
+
 static bool mxsfb_format_mod_supported(struct drm_plane *plane,
                                       uint32_t format,
                                       uint64_t modifier)
 static const struct drm_plane_helper_funcs mxsfb_plane_overlay_helper_funcs = {
        .atomic_check = mxsfb_plane_atomic_check,
        .atomic_update = mxsfb_plane_overlay_atomic_update,
+       .atomic_disable = mxsfb_plane_overlay_atomic_disable,
 };
 
 static const struct drm_plane_funcs mxsfb_plane_funcs = {