Commit a070ba6c authored by Tomi Valkeinen's avatar Tomi Valkeinen

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
...@@ -334,7 +334,7 @@ static int dpi_set_dispc_clk(struct dpi_data *dpi, unsigned long pck_req, ...@@ -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) static int dpi_set_mode(struct dpi_data *dpi)
{ {
struct omap_dss_device *out = &dpi->output; 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; struct omap_video_timings *t = &dpi->timings;
int lck_div = 0, pck_div = 0; int lck_div = 0, pck_div = 0;
unsigned long fck = 0; unsigned long fck = 0;
...@@ -342,7 +342,7 @@ static int dpi_set_mode(struct dpi_data *dpi) ...@@ -342,7 +342,7 @@ static int dpi_set_mode(struct dpi_data *dpi)
int r = 0; int r = 0;
if (dpi->pll) 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); &lck_div, &pck_div);
else else
r = dpi_set_dispc_clk(dpi, t->pixelclock, &fck, r = dpi_set_dispc_clk(dpi, t->pixelclock, &fck,
...@@ -359,7 +359,7 @@ static int dpi_set_mode(struct dpi_data *dpi) ...@@ -359,7 +359,7 @@ static int dpi_set_mode(struct dpi_data *dpi)
t->pixelclock = pck; t->pixelclock = pck;
} }
dss_mgr_set_timings(mgr->id, t); dss_mgr_set_timings(channel, t);
return 0; return 0;
} }
...@@ -367,7 +367,7 @@ static int dpi_set_mode(struct dpi_data *dpi) ...@@ -367,7 +367,7 @@ static int dpi_set_mode(struct dpi_data *dpi)
static void dpi_config_lcd_manager(struct dpi_data *dpi) static void dpi_config_lcd_manager(struct dpi_data *dpi)
{ {
struct omap_dss_device *out = &dpi->output; 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; 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) ...@@ -378,13 +378,14 @@ static void dpi_config_lcd_manager(struct dpi_data *dpi)
dpi->mgr_config.lcden_sig_polarity = 0; 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) static int dpi_display_enable(struct omap_dss_device *dssdev)
{ {
struct dpi_data *dpi = dpi_get_data_from_dssdev(dssdev); struct dpi_data *dpi = dpi_get_data_from_dssdev(dssdev);
struct omap_dss_device *out = &dpi->output; struct omap_dss_device *out = &dpi->output;
enum omap_channel channel = out->dispc_channel;
int r; int r;
mutex_lock(&dpi->lock); mutex_lock(&dpi->lock);
...@@ -411,7 +412,7 @@ static int dpi_display_enable(struct omap_dss_device *dssdev) ...@@ -411,7 +412,7 @@ static int dpi_display_enable(struct omap_dss_device *dssdev)
if (r) if (r)
goto err_get_dispc; 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) if (r)
goto err_src_sel; goto err_src_sel;
...@@ -429,7 +430,7 @@ static int dpi_display_enable(struct omap_dss_device *dssdev) ...@@ -429,7 +430,7 @@ static int dpi_display_enable(struct omap_dss_device *dssdev)
mdelay(2); mdelay(2);
r = dss_mgr_enable(out->manager->id); r = dss_mgr_enable(channel);
if (r) if (r)
goto err_mgr_enable; goto err_mgr_enable;
...@@ -457,14 +458,14 @@ static int dpi_display_enable(struct omap_dss_device *dssdev) ...@@ -457,14 +458,14 @@ static int dpi_display_enable(struct omap_dss_device *dssdev)
static void dpi_display_disable(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 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); mutex_lock(&dpi->lock);
dss_mgr_disable(mgr->id); dss_mgr_disable(channel);
if (dpi->pll) { 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); dss_pll_disable(dpi->pll);
} }
...@@ -506,7 +507,7 @@ static int dpi_check_timings(struct omap_dss_device *dssdev, ...@@ -506,7 +507,7 @@ static int dpi_check_timings(struct omap_dss_device *dssdev,
struct omap_video_timings *timings) struct omap_video_timings *timings)
{ {
struct dpi_data *dpi = dpi_get_data_from_dssdev(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;
int lck_div, pck_div; int lck_div, pck_div;
unsigned long fck; unsigned long fck;
unsigned long pck; unsigned long pck;
...@@ -516,7 +517,7 @@ static int dpi_check_timings(struct omap_dss_device *dssdev, ...@@ -516,7 +517,7 @@ static int dpi_check_timings(struct omap_dss_device *dssdev,
if (timings->x_res % 8 != 0) if (timings->x_res % 8 != 0)
return -EINVAL; return -EINVAL;
if (!dispc_mgr_timings_ok(mgr->id, timings)) if (!dispc_mgr_timings_ok(channel, timings))
return -EINVAL; return -EINVAL;
if (timings->pixelclock == 0) if (timings->pixelclock == 0)
...@@ -663,7 +664,7 @@ static int dpi_connect(struct omap_dss_device *dssdev, ...@@ -663,7 +664,7 @@ static int dpi_connect(struct omap_dss_device *dssdev,
struct omap_dss_device *dst) struct omap_dss_device *dst)
{ {
struct dpi_data *dpi = dpi_get_data_from_dssdev(dssdev); 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; int r;
r = dpi_init_regulator(dpi); r = dpi_init_regulator(dpi);
...@@ -672,11 +673,7 @@ static int dpi_connect(struct omap_dss_device *dssdev, ...@@ -672,11 +673,7 @@ static int dpi_connect(struct omap_dss_device *dssdev,
dpi_init_pll(dpi); dpi_init_pll(dpi);
mgr = omap_dss_get_overlay_manager(dssdev->dispc_channel); r = dss_mgr_connect(channel, dssdev);
if (!mgr)
return -ENODEV;
r = dss_mgr_connect(mgr->id, dssdev);
if (r) if (r)
return r; return r;
...@@ -684,7 +681,7 @@ static int dpi_connect(struct omap_dss_device *dssdev, ...@@ -684,7 +681,7 @@ static int dpi_connect(struct omap_dss_device *dssdev,
if (r) { if (r) {
DSSERR("failed to connect output to new device: %s\n", DSSERR("failed to connect output to new device: %s\n",
dst->name); dst->name);
dss_mgr_disconnect(mgr->id, dssdev); dss_mgr_disconnect(channel, dssdev);
return r; return r;
} }
...@@ -694,6 +691,9 @@ static int dpi_connect(struct omap_dss_device *dssdev, ...@@ -694,6 +691,9 @@ static int dpi_connect(struct omap_dss_device *dssdev,
static void dpi_disconnect(struct omap_dss_device *dssdev, static void dpi_disconnect(struct omap_dss_device *dssdev,
struct omap_dss_device *dst) 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); WARN_ON(dst != dssdev->dst);
if (dst != dssdev->dst) if (dst != dssdev->dst)
...@@ -701,7 +701,7 @@ static void dpi_disconnect(struct omap_dss_device *dssdev, ...@@ -701,7 +701,7 @@ static void dpi_disconnect(struct omap_dss_device *dssdev,
omapdss_output_unset_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 = { static const struct omapdss_dpi_ops dpi_ops = {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment