u8 *line_buffer;
        void *current_frame;
 
-       bool enabled;
        bool cleared;
        bool partial;
 };
        int idx, ret = 0;
        u8 *buf = NULL;
 
-       if (!epd->enabled)
-               return 0;
-
        if (!drm_dev_enter(fb->dev, &idx))
                return -ENODEV;
 
         */
        repaper_write_val(spi, 0x02, 0x04);
 
-       epd->enabled = true;
        epd->partial = false;
 out_exit:
        drm_dev_exit(idx);
         * unplug.
         */
 
-       if (!epd->enabled)
-               return;
-
        DRM_DEBUG_DRIVER("\n");
 
-       epd->enabled = false;
-
        /* Nothing frame */
        for (line = 0; line < epd->height; line++)
                repaper_one_line(epd, 0x7fffu, NULL, 0x00, NULL,
        struct drm_plane_state *state = pipe->plane.state;
        struct drm_rect rect;
 
+       if (!pipe->crtc.state->active)
+               return;
+
        if (drm_atomic_helper_damage_merged(old_state, state, &rect))
                repaper_fb_dirty(state->fb);
 }