]> git.karo-electronics.de Git - linux-beck.git/commitdiff
drm/exynos: expose struct exynos_drm_crtc
authorGustavo Padovan <gustavo.padovan@collabora.co.uk>
Fri, 31 Oct 2014 17:33:30 +0000 (17:33 +0000)
committerInki Dae <daeinki@gmail.com>
Sun, 25 Jan 2015 12:28:01 +0000 (21:28 +0900)
Let other pieces of the driver access struct exynos_drm_crtc as well.

struct exynos_drm_manager will be merged into struct exynos_drm_crtc, in
the sense we will move all its members to exynos_drm_crtc, so to start
this conversion exynos_drm_crtc need to be exposed as well.

Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
drivers/gpu/drm/exynos/exynos_drm_crtc.c
drivers/gpu/drm/exynos/exynos_drm_drv.h

index c8a3169ab977d68f32e14b2e37c59aadbdbf7031..e74b6fecef9b67b917286dd60ab554069fef1eb7 100644 (file)
 #include "exynos_drm_encoder.h"
 #include "exynos_drm_plane.h"
 
-enum exynos_crtc_mode {
-       CRTC_MODE_NORMAL,       /* normal mode */
-       CRTC_MODE_BLANK,        /* The private plane of crtc is blank */
-};
-
-/*
- * Exynos specific crtc structure.
- *
- * @drm_crtc: crtc object.
- * @manager: the manager associated with this crtc
- * @pipe: a crtc index created at load() with a new crtc object creation
- *     and the crtc object would be set to private->crtc array
- *     to get a crtc object corresponding to this pipe from private->crtc
- *     array when irq interrupt occurred. the reason of using this pipe is that
- *     drm framework doesn't support multiple irq yet.
- *     we can refer to the crtc to current hardware interrupt occurred through
- *     this pipe value.
- * @dpms: store the crtc dpms value
- * @mode: store the crtc mode value
- */
-struct exynos_drm_crtc {
-       struct drm_crtc                 drm_crtc;
-       struct exynos_drm_manager       *manager;
-       unsigned int                    pipe;
-       unsigned int                    dpms;
-       enum exynos_crtc_mode           mode;
-       wait_queue_head_t               pending_flip_queue;
-       atomic_t                        pending_flip;
-};
-
 static void exynos_drm_crtc_dpms(struct drm_crtc *crtc, int mode)
 {
        struct exynos_drm_crtc *exynos_crtc = to_exynos_crtc(crtc);
index abbee752d64b61aa9f031e334b8c86b3f35c63ce..984ddb2f4ce61958e9422e8e4db466533199e92b 100644 (file)
@@ -215,6 +215,36 @@ struct exynos_drm_manager {
        struct exynos_drm_manager_ops *ops;
 };
 
+enum exynos_crtc_mode {
+       CRTC_MODE_NORMAL,       /* normal mode */
+       CRTC_MODE_BLANK,        /* The private plane of crtc is blank */
+};
+
+/*
+ * Exynos specific crtc structure.
+ *
+ * @drm_crtc: crtc object.
+ * @manager: the manager associated with this crtc
+ * @pipe: a crtc index created at load() with a new crtc object creation
+ *     and the crtc object would be set to private->crtc array
+ *     to get a crtc object corresponding to this pipe from private->crtc
+ *     array when irq interrupt occurred. the reason of using this pipe is that
+ *     drm framework doesn't support multiple irq yet.
+ *     we can refer to the crtc to current hardware interrupt occurred through
+ *     this pipe value.
+ * @dpms: store the crtc dpms value
+ * @mode: store the crtc mode value
+ */
+struct exynos_drm_crtc {
+       struct drm_crtc                 drm_crtc;
+       struct exynos_drm_manager       *manager;
+       unsigned int                    pipe;
+       unsigned int                    dpms;
+       enum exynos_crtc_mode           mode;
+       wait_queue_head_t               pending_flip_queue;
+       atomic_t                        pending_flip;
+};
+
 struct exynos_drm_g2d_private {
        struct device           *dev;
        struct list_head        inuse_cmdlist;