diff options
author | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2018-06-08 09:53:37 -0400 |
---|---|---|
committer | Tomi Valkeinen <tomi.valkeinen@ti.com> | 2018-09-03 09:13:30 -0400 |
commit | d8dbe79143764b86bd04c63c044431565582a22d (patch) | |
tree | 89cd5b4336e66ea175b6b5cfb7ff8bd577a94d9a /drivers/gpu/drm/omapdrm/dss | |
parent | a730ce996ce4da09979bac884ddb62daf413b79e (diff) |
drm/omap: Store CRTC timings in .set_timings() operation
The video timings are stored in the CRTC structure by the
omap_crtc_dss_set_timings() function, called by dss_mgr_set_timings()
from the .enable() operation of the internal encoders. This instead
belongs to the .set_timings() code paths. Move the
omap_crtc_dss_set_timings() calls accordingly.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.co.uk>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Diffstat (limited to 'drivers/gpu/drm/omapdrm/dss')
-rw-r--r-- | drivers/gpu/drm/omapdrm/dss/dpi.c | 4 | ||||
-rw-r--r-- | drivers/gpu/drm/omapdrm/dss/dsi.c | 6 | ||||
-rw-r--r-- | drivers/gpu/drm/omapdrm/dss/hdmi4.c | 5 | ||||
-rw-r--r-- | drivers/gpu/drm/omapdrm/dss/hdmi5.c | 5 | ||||
-rw-r--r-- | drivers/gpu/drm/omapdrm/dss/sdi.c | 4 | ||||
-rw-r--r-- | drivers/gpu/drm/omapdrm/dss/venc.c | 4 |
6 files changed, 12 insertions, 16 deletions
diff --git a/drivers/gpu/drm/omapdrm/dss/dpi.c b/drivers/gpu/drm/omapdrm/dss/dpi.c index 2a4ad732679f..223586788648 100644 --- a/drivers/gpu/drm/omapdrm/dss/dpi.c +++ b/drivers/gpu/drm/omapdrm/dss/dpi.c | |||
@@ -361,8 +361,6 @@ static int dpi_set_mode(struct dpi_data *dpi) | |||
361 | if (r) | 361 | if (r) |
362 | return r; | 362 | return r; |
363 | 363 | ||
364 | dss_mgr_set_timings(&dpi->output, vm); | ||
365 | |||
366 | return 0; | 364 | return 0; |
367 | } | 365 | } |
368 | 366 | ||
@@ -479,6 +477,8 @@ static void dpi_set_timings(struct omap_dss_device *dssdev, | |||
479 | 477 | ||
480 | dpi->vm = *vm; | 478 | dpi->vm = *vm; |
481 | 479 | ||
480 | dss_mgr_set_timings(&dpi->output, vm); | ||
481 | |||
482 | mutex_unlock(&dpi->lock); | 482 | mutex_unlock(&dpi->lock); |
483 | } | 483 | } |
484 | 484 | ||
diff --git a/drivers/gpu/drm/omapdrm/dss/dsi.c b/drivers/gpu/drm/omapdrm/dss/dsi.c index d1734ea2534a..394c129cfb3b 100644 --- a/drivers/gpu/drm/omapdrm/dss/dsi.c +++ b/drivers/gpu/drm/omapdrm/dss/dsi.c | |||
@@ -3901,8 +3901,6 @@ static void dsi_update_screen_dispc(struct dsi_data *dsi) | |||
3901 | msecs_to_jiffies(250)); | 3901 | msecs_to_jiffies(250)); |
3902 | BUG_ON(r == 0); | 3902 | BUG_ON(r == 0); |
3903 | 3903 | ||
3904 | dss_mgr_set_timings(&dsi->output, &dsi->vm); | ||
3905 | |||
3906 | dss_mgr_start_update(&dsi->output); | 3904 | dss_mgr_start_update(&dsi->output); |
3907 | 3905 | ||
3908 | if (dsi->te_enabled) { | 3906 | if (dsi->te_enabled) { |
@@ -4044,8 +4042,6 @@ static int dsi_display_init_dispc(struct dsi_data *dsi) | |||
4044 | dsi->mgr_config.fifohandcheck = false; | 4042 | dsi->mgr_config.fifohandcheck = false; |
4045 | } | 4043 | } |
4046 | 4044 | ||
4047 | dss_mgr_set_timings(&dsi->output, &dsi->vm); | ||
4048 | |||
4049 | r = dsi_configure_dispc_clocks(dsi); | 4045 | r = dsi_configure_dispc_clocks(dsi); |
4050 | if (r) | 4046 | if (r) |
4051 | goto err1; | 4047 | goto err1; |
@@ -4756,6 +4752,8 @@ static int dsi_set_config(struct omap_dss_device *dssdev, | |||
4756 | dsi->vm.flags &= ~DISPLAY_FLAGS_VSYNC_LOW; | 4752 | dsi->vm.flags &= ~DISPLAY_FLAGS_VSYNC_LOW; |
4757 | dsi->vm.flags |= DISPLAY_FLAGS_VSYNC_HIGH; | 4753 | dsi->vm.flags |= DISPLAY_FLAGS_VSYNC_HIGH; |
4758 | 4754 | ||
4755 | dss_mgr_set_timings(&dsi->output, &dsi->vm); | ||
4756 | |||
4759 | dsi->vm_timings = ctx.dsi_vm; | 4757 | dsi->vm_timings = ctx.dsi_vm; |
4760 | 4758 | ||
4761 | mutex_unlock(&dsi->lock); | 4759 | mutex_unlock(&dsi->lock); |
diff --git a/drivers/gpu/drm/omapdrm/dss/hdmi4.c b/drivers/gpu/drm/omapdrm/dss/hdmi4.c index 7ad173098c22..df7cfb3e2b12 100644 --- a/drivers/gpu/drm/omapdrm/dss/hdmi4.c +++ b/drivers/gpu/drm/omapdrm/dss/hdmi4.c | |||
@@ -207,9 +207,6 @@ static int hdmi_power_on_full(struct omap_hdmi *hdmi) | |||
207 | 207 | ||
208 | hdmi4_configure(&hdmi->core, &hdmi->wp, &hdmi->cfg); | 208 | hdmi4_configure(&hdmi->core, &hdmi->wp, &hdmi->cfg); |
209 | 209 | ||
210 | /* tv size */ | ||
211 | dss_mgr_set_timings(&hdmi->output, vm); | ||
212 | |||
213 | r = dss_mgr_enable(&hdmi->output); | 210 | r = dss_mgr_enable(&hdmi->output); |
214 | if (r) | 211 | if (r) |
215 | goto err_mgr_enable; | 212 | goto err_mgr_enable; |
@@ -262,6 +259,8 @@ static void hdmi_display_set_timings(struct omap_dss_device *dssdev, | |||
262 | 259 | ||
263 | dispc_set_tv_pclk(hdmi->dss->dispc, vm->pixelclock); | 260 | dispc_set_tv_pclk(hdmi->dss->dispc, vm->pixelclock); |
264 | 261 | ||
262 | dss_mgr_set_timings(&hdmi->output, vm); | ||
263 | |||
265 | mutex_unlock(&hdmi->lock); | 264 | mutex_unlock(&hdmi->lock); |
266 | } | 265 | } |
267 | 266 | ||
diff --git a/drivers/gpu/drm/omapdrm/dss/hdmi5.c b/drivers/gpu/drm/omapdrm/dss/hdmi5.c index 147c3550df51..cb212e5e790f 100644 --- a/drivers/gpu/drm/omapdrm/dss/hdmi5.c +++ b/drivers/gpu/drm/omapdrm/dss/hdmi5.c | |||
@@ -206,9 +206,6 @@ static int hdmi_power_on_full(struct omap_hdmi *hdmi) | |||
206 | 206 | ||
207 | hdmi5_configure(&hdmi->core, &hdmi->wp, &hdmi->cfg); | 207 | hdmi5_configure(&hdmi->core, &hdmi->wp, &hdmi->cfg); |
208 | 208 | ||
209 | /* tv size */ | ||
210 | dss_mgr_set_timings(&hdmi->output, vm); | ||
211 | |||
212 | r = dss_mgr_enable(&hdmi->output); | 209 | r = dss_mgr_enable(&hdmi->output); |
213 | if (r) | 210 | if (r) |
214 | goto err_mgr_enable; | 211 | goto err_mgr_enable; |
@@ -261,6 +258,8 @@ static void hdmi_display_set_timings(struct omap_dss_device *dssdev, | |||
261 | 258 | ||
262 | dispc_set_tv_pclk(hdmi->dss->dispc, vm->pixelclock); | 259 | dispc_set_tv_pclk(hdmi->dss->dispc, vm->pixelclock); |
263 | 260 | ||
261 | dss_mgr_set_timings(&hdmi->output, vm); | ||
262 | |||
264 | mutex_unlock(&hdmi->lock); | 263 | mutex_unlock(&hdmi->lock); |
265 | } | 264 | } |
266 | 265 | ||
diff --git a/drivers/gpu/drm/omapdrm/dss/sdi.c b/drivers/gpu/drm/omapdrm/dss/sdi.c index e98c1b6e3d2d..36edcdbf0609 100644 --- a/drivers/gpu/drm/omapdrm/dss/sdi.c +++ b/drivers/gpu/drm/omapdrm/dss/sdi.c | |||
@@ -155,8 +155,6 @@ static int sdi_display_enable(struct omap_dss_device *dssdev) | |||
155 | 155 | ||
156 | sdi->mgr_config.clock_info = dispc_cinfo; | 156 | sdi->mgr_config.clock_info = dispc_cinfo; |
157 | 157 | ||
158 | dss_mgr_set_timings(&sdi->output, &sdi->vm); | ||
159 | |||
160 | r = dss_set_fck_rate(sdi->dss, fck); | 158 | r = dss_set_fck_rate(sdi->dss, fck); |
161 | if (r) | 159 | if (r) |
162 | goto err_set_dss_clock_div; | 160 | goto err_set_dss_clock_div; |
@@ -220,6 +218,8 @@ static void sdi_set_timings(struct omap_dss_device *dssdev, | |||
220 | struct sdi_device *sdi = dssdev_to_sdi(dssdev); | 218 | struct sdi_device *sdi = dssdev_to_sdi(dssdev); |
221 | 219 | ||
222 | sdi->vm = *vm; | 220 | sdi->vm = *vm; |
221 | |||
222 | dss_mgr_set_timings(&sdi->output, vm); | ||
223 | } | 223 | } |
224 | 224 | ||
225 | static int sdi_check_timings(struct omap_dss_device *dssdev, | 225 | static int sdi_check_timings(struct omap_dss_device *dssdev, |
diff --git a/drivers/gpu/drm/omapdrm/dss/venc.c b/drivers/gpu/drm/omapdrm/dss/venc.c index 126efbf89898..39e3c43c54c1 100644 --- a/drivers/gpu/drm/omapdrm/dss/venc.c +++ b/drivers/gpu/drm/omapdrm/dss/venc.c | |||
@@ -491,8 +491,6 @@ static int venc_power_on(struct venc_device *venc) | |||
491 | 491 | ||
492 | venc_write_reg(venc, VENC_OUTPUT_CONTROL, l); | 492 | venc_write_reg(venc, VENC_OUTPUT_CONTROL, l); |
493 | 493 | ||
494 | dss_mgr_set_timings(&venc->output, &venc->vm); | ||
495 | |||
496 | r = regulator_enable(venc->vdda_dac_reg); | 494 | r = regulator_enable(venc->vdda_dac_reg); |
497 | if (r) | 495 | if (r) |
498 | goto err1; | 496 | goto err1; |
@@ -595,6 +593,8 @@ static void venc_set_timings(struct omap_dss_device *dssdev, | |||
595 | 593 | ||
596 | dispc_set_tv_pclk(venc->dss->dispc, 13500000); | 594 | dispc_set_tv_pclk(venc->dss->dispc, 13500000); |
597 | 595 | ||
596 | dss_mgr_set_timings(&venc->output, vm); | ||
597 | |||
598 | mutex_unlock(&venc->venc_lock); | 598 | mutex_unlock(&venc->venc_lock); |
599 | } | 599 | } |
600 | 600 | ||