diff options
author | Tomi Valkeinen <tomi.valkeinen@ti.com> | 2014-08-06 14:31:47 +0400 |
---|---|---|
committer | Tomi Valkeinen <tomi.valkeinen@ti.com> | 2014-11-12 14:40:20 +0300 |
commit | 1a7f4bf186e6e629d8cb3226be4b9fbb48c812b8 (patch) | |
tree | b6aaf6daca5a1cf1f5d5f53fbad39d7a6cd60151 /drivers/video/fbdev/omap2/dss/dsi.c | |
parent | d845600e2f693b3020fa779d2dc1a0767718eebc (diff) | |
download | linux-1a7f4bf186e6e629d8cb3226be4b9fbb48c812b8.tar.xz |
OMAPDSS: DSI: always power on hsclk & hsdiv
The DSS PLL has support to power on the PLL's highspeed clock output
and HSDIV output separately. In practice both need to powered on, as in
most OMAP's that's the only working configuration. We already do that in
dsi_pll_init(), by overriding the passed arguments so that both are
always powered.
Simplify the code by removing the support for choosing which outputs to
power on.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Diffstat (limited to 'drivers/video/fbdev/omap2/dss/dsi.c')
-rw-r--r-- | drivers/video/fbdev/omap2/dss/dsi.c | 23 |
1 files changed, 3 insertions, 20 deletions
diff --git a/drivers/video/fbdev/omap2/dss/dsi.c b/drivers/video/fbdev/omap2/dss/dsi.c index b7acdcd76f73..0083f6500949 100644 --- a/drivers/video/fbdev/omap2/dss/dsi.c +++ b/drivers/video/fbdev/omap2/dss/dsi.c @@ -1672,21 +1672,13 @@ err: return r; } -int dsi_pll_init(struct platform_device *dsidev, bool enable_hsclk, - bool enable_hsdiv) +int dsi_pll_init(struct platform_device *dsidev) { struct dsi_data *dsi = dsi_get_dsidrv_data(dsidev); int r = 0; - enum dsi_pll_power_state pwstate; DSSDBG("PLL init\n"); - /* - * It seems that on many OMAPs we need to enable both to have a - * functional HSDivider. - */ - enable_hsclk = enable_hsdiv = true; - r = dsi_regulator_init(dsidev); if (r) return r; @@ -1718,16 +1710,7 @@ int dsi_pll_init(struct platform_device *dsidev, bool enable_hsclk, * fill the whole display. No idea about this */ dispc_pck_free_enable(0); - if (enable_hsclk && enable_hsdiv) - pwstate = DSI_PLL_POWER_ON_ALL; - else if (enable_hsclk) - pwstate = DSI_PLL_POWER_ON_HSCLK; - else if (enable_hsdiv) - pwstate = DSI_PLL_POWER_ON_DIV; - else - pwstate = DSI_PLL_POWER_OFF; - - r = dsi_pll_power(dsidev, pwstate); + r = dsi_pll_power(dsidev, DSI_PLL_POWER_ON_ALL); if (r) goto err1; @@ -4487,7 +4470,7 @@ static int dsi_display_init_dsi(struct platform_device *dsidev) struct dsi_data *dsi = dsi_get_dsidrv_data(dsidev); int r; - r = dsi_pll_init(dsidev, true, true); + r = dsi_pll_init(dsidev); if (r) goto err0; |