summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/armada/armada_crtc.h
diff options
context:
space:
mode:
authorRussell King <rmk+kernel@armlinux.org.uk>2017-07-08 10:22:25 +0100
committerRussell King <rmk+kernel@armlinux.org.uk>2017-12-08 12:20:00 +0000
commitd924155dae5c59fc69be98392306970510768d0b (patch)
treeae40348de23e513e7fa0fac2656f08f67b4ad996 /drivers/gpu/drm/armada/armada_crtc.h
parentc93dfdcd0521cbdfccab147c5c5a615ba9977a89 (diff)
drm/armada: avoid work allocation
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
Diffstat (limited to 'drivers/gpu/drm/armada/armada_crtc.h')
-rw-r--r--drivers/gpu/drm/armada/armada_crtc.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/gpu/drm/armada/armada_crtc.h b/drivers/gpu/drm/armada/armada_crtc.h
index 12ef9688a45a..0c7b519c09e8 100644
--- a/drivers/gpu/drm/armada/armada_crtc.h
+++ b/drivers/gpu/drm/armada/armada_crtc.h
@@ -38,6 +38,7 @@ struct armada_variant;
struct armada_plane_work {
void (*fn)(struct armada_crtc *, struct armada_plane_work *);
void (*cancel)(struct armada_crtc *, struct armada_plane_work *);
+ bool need_kfree;
struct drm_plane *plane;
struct drm_framebuffer *old_fb;
struct drm_pending_vblank_event *event;
@@ -56,6 +57,8 @@ struct armada_plane_state {
struct armada_plane {
struct drm_plane base;
wait_queue_head_t frame_wait;
+ bool next_work;
+ struct armada_plane_work works[2];
struct armada_plane_work *work;
struct armada_plane_state state;
};