diff options
author | Steve Longerbeam <slongerbeam@gmail.com> | 2014-12-18 21:00:24 -0500 |
---|---|---|
committer | Philipp Zabel <p.zabel@pengutronix.de> | 2015-01-07 13:15:03 -0500 |
commit | eb10d6355532def3a74aaabd115e2373cca70b9d (patch) | |
tree | 5f45725fe9b3a883d209977683f2db6600db06cf /drivers/gpu/drm/imx | |
parent | 0c460a55dd97b639202d6152979669c8951522cd (diff) |
imx-drm: encoder prepare/mode_set must use adjusted mode
The encoder ->prepare() and ->mode_set() methods need to use the
hw adjusted mode, not the original mode.
Signed-off-by: Steve Longerbeam <steve_longerbeam@mentor.com>
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Diffstat (limited to 'drivers/gpu/drm/imx')
-rw-r--r-- | drivers/gpu/drm/imx/imx-ldb.c | 6 | ||||
-rw-r--r-- | drivers/gpu/drm/imx/imx-tve.c | 4 | ||||
-rw-r--r-- | drivers/gpu/drm/imx/parallel-display.c | 4 |
3 files changed, 7 insertions, 7 deletions
diff --git a/drivers/gpu/drm/imx/imx-ldb.c b/drivers/gpu/drm/imx/imx-ldb.c index 4ff62a517c75..1b86aac0b341 100644 --- a/drivers/gpu/drm/imx/imx-ldb.c +++ b/drivers/gpu/drm/imx/imx-ldb.c | |||
@@ -163,7 +163,7 @@ static void imx_ldb_encoder_prepare(struct drm_encoder *encoder) | |||
163 | { | 163 | { |
164 | struct imx_ldb_channel *imx_ldb_ch = enc_to_imx_ldb_ch(encoder); | 164 | struct imx_ldb_channel *imx_ldb_ch = enc_to_imx_ldb_ch(encoder); |
165 | struct imx_ldb *ldb = imx_ldb_ch->ldb; | 165 | struct imx_ldb *ldb = imx_ldb_ch->ldb; |
166 | struct drm_display_mode *mode = &encoder->crtc->mode; | 166 | struct drm_display_mode *mode = &encoder->crtc->hwmode; |
167 | u32 pixel_fmt; | 167 | u32 pixel_fmt; |
168 | unsigned long serial_clk; | 168 | unsigned long serial_clk; |
169 | unsigned long di_clk = mode->clock * 1000; | 169 | unsigned long di_clk = mode->clock * 1000; |
@@ -241,8 +241,8 @@ static void imx_ldb_encoder_commit(struct drm_encoder *encoder) | |||
241 | } | 241 | } |
242 | 242 | ||
243 | static void imx_ldb_encoder_mode_set(struct drm_encoder *encoder, | 243 | static void imx_ldb_encoder_mode_set(struct drm_encoder *encoder, |
244 | struct drm_display_mode *mode, | 244 | struct drm_display_mode *orig_mode, |
245 | struct drm_display_mode *adjusted_mode) | 245 | struct drm_display_mode *mode) |
246 | { | 246 | { |
247 | struct imx_ldb_channel *imx_ldb_ch = enc_to_imx_ldb_ch(encoder); | 247 | struct imx_ldb_channel *imx_ldb_ch = enc_to_imx_ldb_ch(encoder); |
248 | struct imx_ldb *ldb = imx_ldb_ch->ldb; | 248 | struct imx_ldb *ldb = imx_ldb_ch->ldb; |
diff --git a/drivers/gpu/drm/imx/imx-tve.c b/drivers/gpu/drm/imx/imx-tve.c index a729f4f7074c..b63601d04601 100644 --- a/drivers/gpu/drm/imx/imx-tve.c +++ b/drivers/gpu/drm/imx/imx-tve.c | |||
@@ -307,8 +307,8 @@ static void imx_tve_encoder_prepare(struct drm_encoder *encoder) | |||
307 | } | 307 | } |
308 | 308 | ||
309 | static void imx_tve_encoder_mode_set(struct drm_encoder *encoder, | 309 | static void imx_tve_encoder_mode_set(struct drm_encoder *encoder, |
310 | struct drm_display_mode *mode, | 310 | struct drm_display_mode *orig_mode, |
311 | struct drm_display_mode *adjusted_mode) | 311 | struct drm_display_mode *mode) |
312 | { | 312 | { |
313 | struct imx_tve *tve = enc_to_tve(encoder); | 313 | struct imx_tve *tve = enc_to_tve(encoder); |
314 | unsigned long rounded_rate; | 314 | unsigned long rounded_rate; |
diff --git a/drivers/gpu/drm/imx/parallel-display.c b/drivers/gpu/drm/imx/parallel-display.c index 88cf7ca1e886..5e83e007080f 100644 --- a/drivers/gpu/drm/imx/parallel-display.c +++ b/drivers/gpu/drm/imx/parallel-display.c | |||
@@ -130,8 +130,8 @@ static void imx_pd_encoder_commit(struct drm_encoder *encoder) | |||
130 | } | 130 | } |
131 | 131 | ||
132 | static void imx_pd_encoder_mode_set(struct drm_encoder *encoder, | 132 | static void imx_pd_encoder_mode_set(struct drm_encoder *encoder, |
133 | struct drm_display_mode *mode, | 133 | struct drm_display_mode *orig_mode, |
134 | struct drm_display_mode *adjusted_mode) | 134 | struct drm_display_mode *mode) |
135 | { | 135 | { |
136 | } | 136 | } |
137 | 137 | ||