Commit 852f0838 authored by Tomi Valkeinen's avatar Tomi Valkeinen

OMAPDSS: remove uses of dss_runtime_get/put

Now that the omapdss_core device is the parent for all other dss
devices, we don't need to use the dss_runtime_get/put anymore. Instead,
enabling omapdss_core will happen automatically when a child device is
enabled.
Signed-off-by: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
parent a57dd4fe
...@@ -3571,19 +3571,12 @@ static int omap_dispchw_remove(struct platform_device *pdev) ...@@ -3571,19 +3571,12 @@ static int omap_dispchw_remove(struct platform_device *pdev)
static int dispc_runtime_suspend(struct device *dev) static int dispc_runtime_suspend(struct device *dev)
{ {
dispc_save_context(); dispc_save_context();
dss_runtime_put();
return 0; return 0;
} }
static int dispc_runtime_resume(struct device *dev) static int dispc_runtime_resume(struct device *dev)
{ {
int r;
r = dss_runtime_get();
if (r < 0)
return r;
dispc_restore_context(); dispc_restore_context();
return 0; return 0;
......
...@@ -202,10 +202,6 @@ int omapdss_dpi_display_enable(struct omap_dss_device *dssdev) ...@@ -202,10 +202,6 @@ int omapdss_dpi_display_enable(struct omap_dss_device *dssdev)
goto err_reg_enable; goto err_reg_enable;
} }
r = dss_runtime_get();
if (r)
goto err_get_dss;
r = dispc_runtime_get(); r = dispc_runtime_get();
if (r) if (r)
goto err_get_dispc; goto err_get_dispc;
...@@ -244,8 +240,6 @@ int omapdss_dpi_display_enable(struct omap_dss_device *dssdev) ...@@ -244,8 +240,6 @@ int omapdss_dpi_display_enable(struct omap_dss_device *dssdev)
err_get_dsi: err_get_dsi:
dispc_runtime_put(); dispc_runtime_put();
err_get_dispc: err_get_dispc:
dss_runtime_put();
err_get_dss:
if (cpu_is_omap34xx()) if (cpu_is_omap34xx())
regulator_disable(dpi.vdds_dsi_reg); regulator_disable(dpi.vdds_dsi_reg);
err_reg_enable: err_reg_enable:
...@@ -266,7 +260,6 @@ void omapdss_dpi_display_disable(struct omap_dss_device *dssdev) ...@@ -266,7 +260,6 @@ void omapdss_dpi_display_disable(struct omap_dss_device *dssdev)
} }
dispc_runtime_put(); dispc_runtime_put();
dss_runtime_put();
if (cpu_is_omap34xx()) if (cpu_is_omap34xx())
regulator_disable(dpi.vdds_dsi_reg); regulator_disable(dpi.vdds_dsi_reg);
...@@ -283,20 +276,13 @@ void dpi_set_timings(struct omap_dss_device *dssdev, ...@@ -283,20 +276,13 @@ void dpi_set_timings(struct omap_dss_device *dssdev,
DSSDBG("dpi_set_timings\n"); DSSDBG("dpi_set_timings\n");
dssdev->panel.timings = *timings; dssdev->panel.timings = *timings;
if (dssdev->state == OMAP_DSS_DISPLAY_ACTIVE) { if (dssdev->state == OMAP_DSS_DISPLAY_ACTIVE) {
r = dss_runtime_get();
if (r)
return;
r = dispc_runtime_get(); r = dispc_runtime_get();
if (r) { if (r)
dss_runtime_put();
return; return;
}
dpi_set_mode(dssdev); dpi_set_mode(dssdev);
dispc_runtime_put(); dispc_runtime_put();
dss_runtime_put();
} else { } else {
dss_mgr_set_timings(dssdev->manager, timings); dss_mgr_set_timings(dssdev->manager, timings);
} }
......
...@@ -4767,7 +4767,6 @@ static int omap_dsihw_remove(struct platform_device *dsidev) ...@@ -4767,7 +4767,6 @@ static int omap_dsihw_remove(struct platform_device *dsidev)
static int dsi_runtime_suspend(struct device *dev) static int dsi_runtime_suspend(struct device *dev)
{ {
dispc_runtime_put(); dispc_runtime_put();
dss_runtime_put();
return 0; return 0;
} }
...@@ -4776,20 +4775,11 @@ static int dsi_runtime_resume(struct device *dev) ...@@ -4776,20 +4775,11 @@ static int dsi_runtime_resume(struct device *dev)
{ {
int r; int r;
r = dss_runtime_get();
if (r)
goto err_get_dss;
r = dispc_runtime_get(); r = dispc_runtime_get();
if (r) if (r)
goto err_get_dispc; return r;
return 0; return 0;
err_get_dispc:
dss_runtime_put();
err_get_dss:
return r;
} }
static const struct dev_pm_ops dsi_pm_ops = { static const struct dev_pm_ops dsi_pm_ops = {
......
...@@ -62,6 +62,9 @@ struct dss_reg { ...@@ -62,6 +62,9 @@ struct dss_reg {
#define REG_FLD_MOD(idx, val, start, end) \ #define REG_FLD_MOD(idx, val, start, end) \
dss_write_reg(idx, FLD_MOD(dss_read_reg(idx), val, start, end)) dss_write_reg(idx, FLD_MOD(dss_read_reg(idx), val, start, end))
static int dss_runtime_get(void);
static void dss_runtime_put(void);
static struct { static struct {
struct platform_device *pdev; struct platform_device *pdev;
void __iomem *base; void __iomem *base;
...@@ -707,7 +710,7 @@ static void dss_put_clocks(void) ...@@ -707,7 +710,7 @@ static void dss_put_clocks(void)
clk_put(dss.dss_clk); clk_put(dss.dss_clk);
} }
int dss_runtime_get(void) static int dss_runtime_get(void)
{ {
int r; int r;
...@@ -718,7 +721,7 @@ int dss_runtime_get(void) ...@@ -718,7 +721,7 @@ int dss_runtime_get(void)
return r < 0 ? r : 0; return r < 0 ? r : 0;
} }
void dss_runtime_put(void) static void dss_runtime_put(void)
{ {
int r; int r;
......
...@@ -233,9 +233,6 @@ int dss_ovl_check(struct omap_overlay *ovl, struct omap_overlay_info *info, ...@@ -233,9 +233,6 @@ int dss_ovl_check(struct omap_overlay *ovl, struct omap_overlay_info *info,
int dss_init_platform_driver(void); int dss_init_platform_driver(void);
void dss_uninit_platform_driver(void); void dss_uninit_platform_driver(void);
int dss_runtime_get(void);
void dss_runtime_put(void);
void dss_select_hdmi_venc_clk_source(enum dss_hdmi_venc_clk_source_select); void dss_select_hdmi_venc_clk_source(enum dss_hdmi_venc_clk_source_select);
enum dss_hdmi_venc_clk_source_select dss_get_hdmi_venc_clk_source(void); enum dss_hdmi_venc_clk_source_select dss_get_hdmi_venc_clk_source(void);
const char *dss_get_generic_clk_source_name(enum omap_dss_clk_source clk_src); const char *dss_get_generic_clk_source_name(enum omap_dss_clk_source clk_src);
......
...@@ -129,25 +129,12 @@ static int hdmi_runtime_get(void) ...@@ -129,25 +129,12 @@ static int hdmi_runtime_get(void)
DSSDBG("hdmi_runtime_get\n"); DSSDBG("hdmi_runtime_get\n");
/*
* HACK: Add dss_runtime_get() to ensure DSS clock domain is enabled.
* This should be removed later.
*/
r = dss_runtime_get();
if (r < 0)
goto err_get_dss;
r = pm_runtime_get_sync(&hdmi.pdev->dev); r = pm_runtime_get_sync(&hdmi.pdev->dev);
WARN_ON(r < 0); WARN_ON(r < 0);
if (r < 0) if (r < 0)
goto err_get_hdmi; return r;
return 0; return 0;
err_get_hdmi:
dss_runtime_put();
err_get_dss:
return r;
} }
static void hdmi_runtime_put(void) static void hdmi_runtime_put(void)
...@@ -158,12 +145,6 @@ static void hdmi_runtime_put(void) ...@@ -158,12 +145,6 @@ static void hdmi_runtime_put(void)
r = pm_runtime_put_sync(&hdmi.pdev->dev); r = pm_runtime_put_sync(&hdmi.pdev->dev);
WARN_ON(r < 0); WARN_ON(r < 0);
/*
* HACK: This is added to complement the dss_runtime_get() call in
* hdmi_runtime_get(). This should be removed later.
*/
dss_runtime_put();
} }
int hdmi_init_display(struct omap_dss_device *dssdev) int hdmi_init_display(struct omap_dss_device *dssdev)
...@@ -866,7 +847,6 @@ static int hdmi_runtime_suspend(struct device *dev) ...@@ -866,7 +847,6 @@ static int hdmi_runtime_suspend(struct device *dev)
clk_disable(hdmi.sys_clk); clk_disable(hdmi.sys_clk);
dispc_runtime_put(); dispc_runtime_put();
dss_runtime_put();
return 0; return 0;
} }
...@@ -875,23 +855,13 @@ static int hdmi_runtime_resume(struct device *dev) ...@@ -875,23 +855,13 @@ static int hdmi_runtime_resume(struct device *dev)
{ {
int r; int r;
r = dss_runtime_get();
if (r < 0)
goto err_get_dss;
r = dispc_runtime_get(); r = dispc_runtime_get();
if (r < 0) if (r < 0)
goto err_get_dispc; return r;
clk_enable(hdmi.sys_clk); clk_enable(hdmi.sys_clk);
return 0; return 0;
err_get_dispc:
dss_runtime_put();
err_get_dss:
return r;
} }
static const struct dev_pm_ops hdmi_pm_ops = { static const struct dev_pm_ops hdmi_pm_ops = {
......
...@@ -992,7 +992,6 @@ static int omap_rfbihw_remove(struct platform_device *pdev) ...@@ -992,7 +992,6 @@ static int omap_rfbihw_remove(struct platform_device *pdev)
static int rfbi_runtime_suspend(struct device *dev) static int rfbi_runtime_suspend(struct device *dev)
{ {
dispc_runtime_put(); dispc_runtime_put();
dss_runtime_put();
return 0; return 0;
} }
...@@ -1001,20 +1000,11 @@ static int rfbi_runtime_resume(struct device *dev) ...@@ -1001,20 +1000,11 @@ static int rfbi_runtime_resume(struct device *dev)
{ {
int r; int r;
r = dss_runtime_get();
if (r < 0)
goto err_get_dss;
r = dispc_runtime_get(); r = dispc_runtime_get();
if (r < 0) if (r < 0)
goto err_get_dispc; return r;
return 0; return 0;
err_get_dispc:
dss_runtime_put();
err_get_dss:
return r;
} }
static const struct dev_pm_ops rfbi_pm_ops = { static const struct dev_pm_ops rfbi_pm_ops = {
......
...@@ -72,10 +72,6 @@ int omapdss_sdi_display_enable(struct omap_dss_device *dssdev) ...@@ -72,10 +72,6 @@ int omapdss_sdi_display_enable(struct omap_dss_device *dssdev)
if (r) if (r)
goto err_reg_enable; goto err_reg_enable;
r = dss_runtime_get();
if (r)
goto err_get_dss;
r = dispc_runtime_get(); r = dispc_runtime_get();
if (r) if (r)
goto err_get_dispc; goto err_get_dispc;
...@@ -138,8 +134,6 @@ int omapdss_sdi_display_enable(struct omap_dss_device *dssdev) ...@@ -138,8 +134,6 @@ int omapdss_sdi_display_enable(struct omap_dss_device *dssdev)
err_calc_clock_div: err_calc_clock_div:
dispc_runtime_put(); dispc_runtime_put();
err_get_dispc: err_get_dispc:
dss_runtime_put();
err_get_dss:
regulator_disable(sdi.vdds_sdi_reg); regulator_disable(sdi.vdds_sdi_reg);
err_reg_enable: err_reg_enable:
omap_dss_stop_device(dssdev); omap_dss_stop_device(dssdev);
...@@ -155,7 +149,6 @@ void omapdss_sdi_display_disable(struct omap_dss_device *dssdev) ...@@ -155,7 +149,6 @@ void omapdss_sdi_display_disable(struct omap_dss_device *dssdev)
dss_sdi_disable(); dss_sdi_disable();
dispc_runtime_put(); dispc_runtime_put();
dss_runtime_put();
regulator_disable(sdi.vdds_sdi_reg); regulator_disable(sdi.vdds_sdi_reg);
......
...@@ -903,7 +903,6 @@ static int venc_runtime_suspend(struct device *dev) ...@@ -903,7 +903,6 @@ static int venc_runtime_suspend(struct device *dev)
clk_disable(venc.tv_dac_clk); clk_disable(venc.tv_dac_clk);
dispc_runtime_put(); dispc_runtime_put();
dss_runtime_put();
return 0; return 0;
} }
...@@ -912,23 +911,14 @@ static int venc_runtime_resume(struct device *dev) ...@@ -912,23 +911,14 @@ static int venc_runtime_resume(struct device *dev)
{ {
int r; int r;
r = dss_runtime_get();
if (r < 0)
goto err_get_dss;
r = dispc_runtime_get(); r = dispc_runtime_get();
if (r < 0) if (r < 0)
goto err_get_dispc; return r;
if (venc.tv_dac_clk) if (venc.tv_dac_clk)
clk_enable(venc.tv_dac_clk); clk_enable(venc.tv_dac_clk);
return 0; return 0;
err_get_dispc:
dss_runtime_put();
err_get_dss:
return r;
} }
static const struct dev_pm_ops venc_pm_ops = { static const struct dev_pm_ops venc_pm_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