drm/tiny/repaper: Drop edp->enabled
authorDaniel Vetter <daniel.vetter@ffwll.ch>
Fri, 12 Jun 2020 16:00:56 +0000 (18:00 +0200)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Wed, 24 Jun 2020 07:17:30 +0000 (09:17 +0200)
Same patch as the mipi-dbi one, atomic tracks this for us already, we
just have to check the right thing.

Reviewed-by: Noralf Trønnes <noralf@tronnes.org>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
Cc: "Noralf Trønnes" <noralf@tronnes.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20200612160056.2082681-8-daniel.vetter@ffwll.ch
drivers/gpu/drm/tiny/repaper.c

index 08164e2..2e01cf0 100644 (file)
@@ -88,7 +88,6 @@ struct repaper_epd {
        u8 *line_buffer;
        void *current_frame;
 
-       bool enabled;
        bool cleared;
        bool partial;
 };
@@ -538,9 +537,6 @@ static int repaper_fb_dirty(struct drm_framebuffer *fb)
        int idx, ret = 0;
        u8 *buf = NULL;
 
-       if (!epd->enabled)
-               return 0;
-
        if (!drm_dev_enter(fb->dev, &idx))
                return -ENODEV;
 
@@ -786,7 +782,6 @@ static void repaper_pipe_enable(struct drm_simple_display_pipe *pipe,
         */
        repaper_write_val(spi, 0x02, 0x04);
 
-       epd->enabled = true;
        epd->partial = false;
 out_exit:
        drm_dev_exit(idx);
@@ -805,13 +800,8 @@ static void repaper_pipe_disable(struct drm_simple_display_pipe *pipe)
         * 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,
@@ -859,6 +849,9 @@ static void repaper_pipe_update(struct drm_simple_display_pipe *pipe,
        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);
 }