Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a070ba6c authored by Tomi Valkeinen's avatar Tomi Valkeinen
Browse files

drm/omap: DPI: remove uses of omap_overlay_manager



We are removing the uses of 'struct omap_overlay_manager'. This patch
changes DPI driver to use 'omap_channel' instead.

Signed-off-by: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
parent a0e53bfe
Loading
Loading
Loading
Loading
+20 −20
Original line number Diff line number Diff line
@@ -334,7 +334,7 @@ static int dpi_set_dispc_clk(struct dpi_data *dpi, unsigned long pck_req,
static int dpi_set_mode(struct dpi_data *dpi)
{
	struct omap_dss_device *out = &dpi->output;
	struct omap_overlay_manager *mgr = out->manager;
	enum omap_channel channel = out->dispc_channel;
	struct omap_video_timings *t = &dpi->timings;
	int lck_div = 0, pck_div = 0;
	unsigned long fck = 0;
@@ -342,7 +342,7 @@ static int dpi_set_mode(struct dpi_data *dpi)
	int r = 0;

	if (dpi->pll)
		r = dpi_set_dsi_clk(dpi, mgr->id, t->pixelclock, &fck,
		r = dpi_set_dsi_clk(dpi, channel, t->pixelclock, &fck,
				&lck_div, &pck_div);
	else
		r = dpi_set_dispc_clk(dpi, t->pixelclock, &fck,
@@ -359,7 +359,7 @@ static int dpi_set_mode(struct dpi_data *dpi)
		t->pixelclock = pck;
	}

	dss_mgr_set_timings(mgr->id, t);
	dss_mgr_set_timings(channel, t);

	return 0;
}
@@ -367,7 +367,7 @@ static int dpi_set_mode(struct dpi_data *dpi)
static void dpi_config_lcd_manager(struct dpi_data *dpi)
{
	struct omap_dss_device *out = &dpi->output;
	struct omap_overlay_manager *mgr = out->manager;
	enum omap_channel channel = out->dispc_channel;

	dpi->mgr_config.io_pad_mode = DSS_IO_PAD_MODE_BYPASS;

@@ -378,13 +378,14 @@ static void dpi_config_lcd_manager(struct dpi_data *dpi)

	dpi->mgr_config.lcden_sig_polarity = 0;

	dss_mgr_set_lcd_config(mgr->id, &dpi->mgr_config);
	dss_mgr_set_lcd_config(channel, &dpi->mgr_config);
}

static int dpi_display_enable(struct omap_dss_device *dssdev)
{
	struct dpi_data *dpi = dpi_get_data_from_dssdev(dssdev);
	struct omap_dss_device *out = &dpi->output;
	enum omap_channel channel = out->dispc_channel;
	int r;

	mutex_lock(&dpi->lock);
@@ -411,7 +412,7 @@ static int dpi_display_enable(struct omap_dss_device *dssdev)
	if (r)
		goto err_get_dispc;

	r = dss_dpi_select_source(out->port_num, out->manager->id);
	r = dss_dpi_select_source(out->port_num, channel);
	if (r)
		goto err_src_sel;

@@ -429,7 +430,7 @@ static int dpi_display_enable(struct omap_dss_device *dssdev)

	mdelay(2);

	r = dss_mgr_enable(out->manager->id);
	r = dss_mgr_enable(channel);
	if (r)
		goto err_mgr_enable;

@@ -457,14 +458,14 @@ static int dpi_display_enable(struct omap_dss_device *dssdev)
static void dpi_display_disable(struct omap_dss_device *dssdev)
{
	struct dpi_data *dpi = dpi_get_data_from_dssdev(dssdev);
	struct omap_overlay_manager *mgr = dpi->output.manager;
	enum omap_channel channel = dpi->output.dispc_channel;

	mutex_lock(&dpi->lock);

	dss_mgr_disable(mgr->id);
	dss_mgr_disable(channel);

	if (dpi->pll) {
		dss_select_lcd_clk_source(mgr->id, OMAP_DSS_CLK_SRC_FCK);
		dss_select_lcd_clk_source(channel, OMAP_DSS_CLK_SRC_FCK);
		dss_pll_disable(dpi->pll);
	}

@@ -506,7 +507,7 @@ static int dpi_check_timings(struct omap_dss_device *dssdev,
			struct omap_video_timings *timings)
{
	struct dpi_data *dpi = dpi_get_data_from_dssdev(dssdev);
	struct omap_overlay_manager *mgr = dpi->output.manager;
	enum omap_channel channel = dpi->output.dispc_channel;
	int lck_div, pck_div;
	unsigned long fck;
	unsigned long pck;
@@ -516,7 +517,7 @@ static int dpi_check_timings(struct omap_dss_device *dssdev,
	if (timings->x_res % 8 != 0)
		return -EINVAL;

	if (!dispc_mgr_timings_ok(mgr->id, timings))
	if (!dispc_mgr_timings_ok(channel, timings))
		return -EINVAL;

	if (timings->pixelclock == 0)
@@ -663,7 +664,7 @@ static int dpi_connect(struct omap_dss_device *dssdev,
		struct omap_dss_device *dst)
{
	struct dpi_data *dpi = dpi_get_data_from_dssdev(dssdev);
	struct omap_overlay_manager *mgr;
	enum omap_channel channel = dpi->output.dispc_channel;
	int r;

	r = dpi_init_regulator(dpi);
@@ -672,11 +673,7 @@ static int dpi_connect(struct omap_dss_device *dssdev,

	dpi_init_pll(dpi);

	mgr = omap_dss_get_overlay_manager(dssdev->dispc_channel);
	if (!mgr)
		return -ENODEV;

	r = dss_mgr_connect(mgr->id, dssdev);
	r = dss_mgr_connect(channel, dssdev);
	if (r)
		return r;

@@ -684,7 +681,7 @@ static int dpi_connect(struct omap_dss_device *dssdev,
	if (r) {
		DSSERR("failed to connect output to new device: %s\n",
				dst->name);
		dss_mgr_disconnect(mgr->id, dssdev);
		dss_mgr_disconnect(channel, dssdev);
		return r;
	}

@@ -694,6 +691,9 @@ static int dpi_connect(struct omap_dss_device *dssdev,
static void dpi_disconnect(struct omap_dss_device *dssdev,
		struct omap_dss_device *dst)
{
	struct dpi_data *dpi = dpi_get_data_from_dssdev(dssdev);
	enum omap_channel channel = dpi->output.dispc_channel;

	WARN_ON(dst != dssdev->dst);

	if (dst != dssdev->dst)
@@ -701,7 +701,7 @@ static void dpi_disconnect(struct omap_dss_device *dssdev,

	omapdss_output_unset_device(dssdev);

	dss_mgr_disconnect(dssdev->manager->id, dssdev);
	dss_mgr_disconnect(channel, dssdev);
}

static const struct omapdss_dpi_ops dpi_ops = {