aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/gpu/drm/exynos/exynos_drm_drv.h4
-rw-r--r--drivers/gpu/drm/exynos/exynos_drm_encoder.c4
-rw-r--r--drivers/gpu/drm/exynos/exynos_drm_fimd.c8
-rw-r--r--drivers/gpu/drm/exynos/exynos_drm_hdmi.c8
-rw-r--r--drivers/gpu/drm/exynos/exynos_drm_hdmi.h3
-rw-r--r--drivers/gpu/drm/exynos/exynos_drm_vidi.c8
-rw-r--r--drivers/gpu/drm/exynos/exynos_hdmi.c2
7 files changed, 10 insertions, 27 deletions
diff --git a/drivers/gpu/drm/exynos/exynos_drm_drv.h b/drivers/gpu/drm/exynos/exynos_drm_drv.h
index 5912841cdf2f..cf65f65d6c68 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_drv.h
+++ b/drivers/gpu/drm/exynos/exynos_drm_drv.h
@@ -128,7 +128,7 @@ struct exynos_drm_overlay {
128 * @get_edid: get edid modes from display driver. 128 * @get_edid: get edid modes from display driver.
129 * @get_panel: get panel object from display driver. 129 * @get_panel: get panel object from display driver.
130 * @check_mode: check if mode is valid or not. 130 * @check_mode: check if mode is valid or not.
131 * @power_on: display device on or off. 131 * @dpms: display device on or off.
132 */ 132 */
133struct exynos_drm_display_ops { 133struct exynos_drm_display_ops {
134 enum exynos_drm_output_type type; 134 enum exynos_drm_output_type type;
@@ -138,7 +138,7 @@ struct exynos_drm_display_ops {
138 struct drm_connector *connector); 138 struct drm_connector *connector);
139 void *(*get_panel)(struct device *dev); 139 void *(*get_panel)(struct device *dev);
140 int (*check_mode)(struct device *dev, struct drm_display_mode *mode); 140 int (*check_mode)(struct device *dev, struct drm_display_mode *mode);
141 int (*power_on)(struct device *dev, int mode); 141 int (*dpms)(struct device *dev, int mode);
142}; 142};
143 143
144/* 144/*
diff --git a/drivers/gpu/drm/exynos/exynos_drm_encoder.c b/drivers/gpu/drm/exynos/exynos_drm_encoder.c
index df4b2852b2d1..5bf1e1e2329b 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_encoder.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_encoder.c
@@ -50,8 +50,8 @@ static void exynos_drm_encoder_dpms(struct drm_encoder *encoder, int mode)
50 return; 50 return;
51 } 51 }
52 52
53 if (display_ops && display_ops->power_on) 53 if (display_ops && display_ops->dpms)
54 display_ops->power_on(manager->ctx, mode); 54 display_ops->dpms(manager->ctx, mode);
55 55
56 exynos_encoder->dpms = mode; 56 exynos_encoder->dpms = mode;
57} 57}
diff --git a/drivers/gpu/drm/exynos/exynos_drm_fimd.c b/drivers/gpu/drm/exynos/exynos_drm_fimd.c
index 810c61fa77e1..ff1ba9477002 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_fimd.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_fimd.c
@@ -169,19 +169,11 @@ static int fimd_check_mode(struct device *dev, struct drm_display_mode *mode)
169 return 0; 169 return 0;
170} 170}
171 171
172static int fimd_display_power_on(struct device *dev, int mode)
173{
174 /* TODO */
175
176 return 0;
177}
178
179static struct exynos_drm_display_ops fimd_display_ops = { 172static struct exynos_drm_display_ops fimd_display_ops = {
180 .type = EXYNOS_DISPLAY_TYPE_LCD, 173 .type = EXYNOS_DISPLAY_TYPE_LCD,
181 .is_connected = fimd_display_is_connected, 174 .is_connected = fimd_display_is_connected,
182 .get_panel = fimd_get_panel, 175 .get_panel = fimd_get_panel,
183 .check_mode = fimd_check_mode, 176 .check_mode = fimd_check_mode,
184 .power_on = fimd_display_power_on,
185}; 177};
186 178
187static int fimd_mgr_initialize(struct exynos_drm_manager *mgr, 179static int fimd_mgr_initialize(struct exynos_drm_manager *mgr,
diff --git a/drivers/gpu/drm/exynos/exynos_drm_hdmi.c b/drivers/gpu/drm/exynos/exynos_drm_hdmi.c
index c5de00a66c2b..f9a9324a8d21 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_hdmi.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_hdmi.c
@@ -159,12 +159,12 @@ static int drm_hdmi_check_mode(struct device *dev,
159 return drm_hdmi_check_mode_ctx(ctx, mode); 159 return drm_hdmi_check_mode_ctx(ctx, mode);
160} 160}
161 161
162static int drm_hdmi_power_on(struct device *dev, int mode) 162static int drm_hdmi_display_dpms(struct device *dev, int mode)
163{ 163{
164 struct drm_hdmi_context *ctx = to_context(dev); 164 struct drm_hdmi_context *ctx = to_context(dev);
165 165
166 if (hdmi_ops && hdmi_ops->power_on) 166 if (hdmi_ops && hdmi_ops->dpms)
167 return hdmi_ops->power_on(ctx->hdmi_ctx->ctx, mode); 167 hdmi_ops->dpms(ctx->hdmi_ctx->ctx, mode);
168 168
169 return 0; 169 return 0;
170} 170}
@@ -175,7 +175,7 @@ static struct exynos_drm_display_ops drm_hdmi_display_ops = {
175 .is_connected = drm_hdmi_is_connected, 175 .is_connected = drm_hdmi_is_connected,
176 .get_edid = drm_hdmi_get_edid, 176 .get_edid = drm_hdmi_get_edid,
177 .check_mode = drm_hdmi_check_mode, 177 .check_mode = drm_hdmi_check_mode,
178 .power_on = drm_hdmi_power_on, 178 .dpms = drm_hdmi_display_dpms,
179}; 179};
180 180
181static int drm_hdmi_enable_vblank(struct exynos_drm_manager *mgr) 181static int drm_hdmi_enable_vblank(struct exynos_drm_manager *mgr)
diff --git a/drivers/gpu/drm/exynos/exynos_drm_hdmi.h b/drivers/gpu/drm/exynos/exynos_drm_hdmi.h
index cf7b1da67aba..923239bdd7e9 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_hdmi.h
+++ b/drivers/gpu/drm/exynos/exynos_drm_hdmi.h
@@ -33,14 +33,13 @@ struct exynos_hdmi_ops {
33 struct edid *(*get_edid)(void *ctx, 33 struct edid *(*get_edid)(void *ctx,
34 struct drm_connector *connector); 34 struct drm_connector *connector);
35 int (*check_mode)(void *ctx, struct drm_display_mode *mode); 35 int (*check_mode)(void *ctx, struct drm_display_mode *mode);
36 int (*power_on)(void *ctx, int mode); 36 void (*dpms)(void *ctx, int mode);
37 37
38 /* manager */ 38 /* manager */
39 void (*mode_set)(void *ctx, struct drm_display_mode *mode); 39 void (*mode_set)(void *ctx, struct drm_display_mode *mode);
40 void (*get_max_resol)(void *ctx, unsigned int *width, 40 void (*get_max_resol)(void *ctx, unsigned int *width,
41 unsigned int *height); 41 unsigned int *height);
42 void (*commit)(void *ctx); 42 void (*commit)(void *ctx);
43 void (*dpms)(void *ctx, int mode);
44}; 43};
45 44
46struct exynos_mixer_ops { 45struct exynos_mixer_ops {
diff --git a/drivers/gpu/drm/exynos/exynos_drm_vidi.c b/drivers/gpu/drm/exynos/exynos_drm_vidi.c
index 838edb08f214..8d1fdc4e6bcb 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_vidi.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_vidi.c
@@ -136,20 +136,12 @@ static int vidi_check_mode(struct device *dev, struct drm_display_mode *mode)
136 return 0; 136 return 0;
137} 137}
138 138
139static int vidi_display_power_on(struct device *dev, int mode)
140{
141 /* TODO */
142
143 return 0;
144}
145
146static struct exynos_drm_display_ops vidi_display_ops = { 139static struct exynos_drm_display_ops vidi_display_ops = {
147 .type = EXYNOS_DISPLAY_TYPE_VIDI, 140 .type = EXYNOS_DISPLAY_TYPE_VIDI,
148 .is_connected = vidi_display_is_connected, 141 .is_connected = vidi_display_is_connected,
149 .get_edid = vidi_get_edid, 142 .get_edid = vidi_get_edid,
150 .get_panel = vidi_get_panel, 143 .get_panel = vidi_get_panel,
151 .check_mode = vidi_check_mode, 144 .check_mode = vidi_check_mode,
152 .power_on = vidi_display_power_on,
153}; 145};
154 146
155static void vidi_dpms(struct exynos_drm_manager *mgr, int mode) 147static void vidi_dpms(struct exynos_drm_manager *mgr, int mode)
diff --git a/drivers/gpu/drm/exynos/exynos_hdmi.c b/drivers/gpu/drm/exynos/exynos_hdmi.c
index d9521a9a624a..b51672f53808 100644
--- a/drivers/gpu/drm/exynos/exynos_hdmi.c
+++ b/drivers/gpu/drm/exynos/exynos_hdmi.c
@@ -1813,12 +1813,12 @@ static struct exynos_hdmi_ops hdmi_ops = {
1813 .is_connected = hdmi_is_connected, 1813 .is_connected = hdmi_is_connected,
1814 .get_edid = hdmi_get_edid, 1814 .get_edid = hdmi_get_edid,
1815 .check_mode = hdmi_check_mode, 1815 .check_mode = hdmi_check_mode,
1816 .dpms = hdmi_dpms,
1816 1817
1817 /* manager */ 1818 /* manager */
1818 .mode_set = hdmi_mode_set, 1819 .mode_set = hdmi_mode_set,
1819 .get_max_resol = hdmi_get_max_resol, 1820 .get_max_resol = hdmi_get_max_resol,
1820 .commit = hdmi_commit, 1821 .commit = hdmi_commit,
1821 .dpms = hdmi_dpms,
1822}; 1822};
1823 1823
1824static irqreturn_t hdmi_irq_thread(int irq, void *arg) 1824static irqreturn_t hdmi_irq_thread(int irq, void *arg)