Commit d8dbe791 authored by Laurent Pinchart's avatar Laurent Pinchart Committed by Tomi Valkeinen
Browse files

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: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: default avatarSebastian Reichel <sebastian.reichel@collabora.co.uk>
Signed-off-by: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
parent a730ce99
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -361,8 +361,6 @@ static int dpi_set_mode(struct dpi_data *dpi)
	if (r)
		return r;

	dss_mgr_set_timings(&dpi->output, vm);

	return 0;
}

@@ -479,6 +477,8 @@ static void dpi_set_timings(struct omap_dss_device *dssdev,

	dpi->vm = *vm;

	dss_mgr_set_timings(&dpi->output, vm);

	mutex_unlock(&dpi->lock);
}

+2 −4
Original line number Diff line number Diff line
@@ -3901,8 +3901,6 @@ static void dsi_update_screen_dispc(struct dsi_data *dsi)
		msecs_to_jiffies(250));
	BUG_ON(r == 0);

	dss_mgr_set_timings(&dsi->output, &dsi->vm);

	dss_mgr_start_update(&dsi->output);

	if (dsi->te_enabled) {
@@ -4044,8 +4042,6 @@ static int dsi_display_init_dispc(struct dsi_data *dsi)
		dsi->mgr_config.fifohandcheck = false;
	}

	dss_mgr_set_timings(&dsi->output, &dsi->vm);

	r = dsi_configure_dispc_clocks(dsi);
	if (r)
		goto err1;
@@ -4756,6 +4752,8 @@ static int dsi_set_config(struct omap_dss_device *dssdev,
	dsi->vm.flags &= ~DISPLAY_FLAGS_VSYNC_LOW;
	dsi->vm.flags |= DISPLAY_FLAGS_VSYNC_HIGH;

	dss_mgr_set_timings(&dsi->output, &dsi->vm);

	dsi->vm_timings = ctx.dsi_vm;

	mutex_unlock(&dsi->lock);
+2 −3
Original line number Diff line number Diff line
@@ -207,9 +207,6 @@ static int hdmi_power_on_full(struct omap_hdmi *hdmi)

	hdmi4_configure(&hdmi->core, &hdmi->wp, &hdmi->cfg);

	/* tv size */
	dss_mgr_set_timings(&hdmi->output, vm);

	r = dss_mgr_enable(&hdmi->output);
	if (r)
		goto err_mgr_enable;
@@ -262,6 +259,8 @@ static void hdmi_display_set_timings(struct omap_dss_device *dssdev,

	dispc_set_tv_pclk(hdmi->dss->dispc, vm->pixelclock);

	dss_mgr_set_timings(&hdmi->output, vm);

	mutex_unlock(&hdmi->lock);
}

+2 −3
Original line number Diff line number Diff line
@@ -206,9 +206,6 @@ static int hdmi_power_on_full(struct omap_hdmi *hdmi)

	hdmi5_configure(&hdmi->core, &hdmi->wp, &hdmi->cfg);

	/* tv size */
	dss_mgr_set_timings(&hdmi->output, vm);

	r = dss_mgr_enable(&hdmi->output);
	if (r)
		goto err_mgr_enable;
@@ -261,6 +258,8 @@ static void hdmi_display_set_timings(struct omap_dss_device *dssdev,

	dispc_set_tv_pclk(hdmi->dss->dispc, vm->pixelclock);

	dss_mgr_set_timings(&hdmi->output, vm);

	mutex_unlock(&hdmi->lock);
}

+2 −2
Original line number Diff line number Diff line
@@ -155,8 +155,6 @@ static int sdi_display_enable(struct omap_dss_device *dssdev)

	sdi->mgr_config.clock_info = dispc_cinfo;

	dss_mgr_set_timings(&sdi->output, &sdi->vm);

	r = dss_set_fck_rate(sdi->dss, fck);
	if (r)
		goto err_set_dss_clock_div;
@@ -220,6 +218,8 @@ static void sdi_set_timings(struct omap_dss_device *dssdev,
	struct sdi_device *sdi = dssdev_to_sdi(dssdev);

	sdi->vm = *vm;

	dss_mgr_set_timings(&sdi->output, vm);
}

static int sdi_check_timings(struct omap_dss_device *dssdev,
Loading