summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/armada/armada_crtc.h
diff options
context:
space:
mode:
authorRussell King <rmk+kernel@arm.linux.org.uk>2015-06-29 18:52:16 +0200
committerRussell King <rmk+kernel@arm.linux.org.uk>2015-09-15 17:26:49 +0200
commit7c8f7e1abc75b853adf60d8ee0a589e058bcdb6b (patch)
tree71bd92451f11dbd7a7cc71e67eaf3257d5de997b /drivers/gpu/drm/armada/armada_crtc.h
parentdrm/armada: remove non-component support (diff)
downloadlinux-7c8f7e1abc75b853adf60d8ee0a589e058bcdb6b.tar.xz
linux-7c8f7e1abc75b853adf60d8ee0a589e058bcdb6b.zip
drm/armada: move vbl code into armada_crtc
Our vblank event code belongs in armada_crtc.c rather than the core of the driver. Move it there. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'drivers/gpu/drm/armada/armada_crtc.h')
-rw-r--r--drivers/gpu/drm/armada/armada_crtc.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/drivers/gpu/drm/armada/armada_crtc.h b/drivers/gpu/drm/armada/armada_crtc.h
index a13469f5d72b..a86243ef4a51 100644
--- a/drivers/gpu/drm/armada/armada_crtc.h
+++ b/drivers/gpu/drm/armada/armada_crtc.h
@@ -75,6 +75,23 @@ struct armada_crtc {
};
#define drm_to_armada_crtc(c) container_of(c, struct armada_crtc, crtc)
+struct armada_vbl_event {
+ struct list_head node;
+ void *data;
+ void (*fn)(struct armada_crtc *, void *);
+};
+
+void armada_drm_vbl_event_add(struct armada_crtc *,
+ struct armada_vbl_event *);
+void armada_drm_vbl_event_remove(struct armada_crtc *,
+ struct armada_vbl_event *);
+#define armada_drm_vbl_event_init(_e, _f, _d) do { \
+ struct armada_vbl_event *__e = _e; \
+ INIT_LIST_HEAD(&__e->node); \
+ __e->data = _d; \
+ __e->fn = _f; \
+} while (0)
+
void armada_drm_crtc_gamma_set(struct drm_crtc *, u16, u16, u16, int);
void armada_drm_crtc_gamma_get(struct drm_crtc *, u16 *, u16 *, u16 *, int);
void armada_drm_crtc_disable_irq(struct armada_crtc *, u32);