diff options
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: | |||
| 1672 | return r; | 1672 | return r; |
| 1673 | } | 1673 | } |
| 1674 | 1674 | ||
| 1675 | int dsi_pll_init(struct platform_device *dsidev, bool enable_hsclk, | 1675 | int dsi_pll_init(struct platform_device *dsidev) |
| 1676 | bool enable_hsdiv) | ||
| 1677 | { | 1676 | { |
| 1678 | struct dsi_data *dsi = dsi_get_dsidrv_data(dsidev); | 1677 | struct dsi_data *dsi = dsi_get_dsidrv_data(dsidev); |
| 1679 | int r = 0; | 1678 | int r = 0; |
| 1680 | enum dsi_pll_power_state pwstate; | ||
| 1681 | 1679 | ||
| 1682 | DSSDBG("PLL init\n"); | 1680 | DSSDBG("PLL init\n"); |
| 1683 | 1681 | ||
| 1684 | /* | ||
| 1685 | * It seems that on many OMAPs we need to enable both to have a | ||
| 1686 | * functional HSDivider. | ||
| 1687 | */ | ||
| 1688 | enable_hsclk = enable_hsdiv = true; | ||
| 1689 | |||
| 1690 | r = dsi_regulator_init(dsidev); | 1682 | r = dsi_regulator_init(dsidev); |
| 1691 | if (r) | 1683 | if (r) |
| 1692 | return r; | 1684 | return r; |
| @@ -1718,16 +1710,7 @@ int dsi_pll_init(struct platform_device *dsidev, bool enable_hsclk, | |||
| 1718 | * fill the whole display. No idea about this */ | 1710 | * fill the whole display. No idea about this */ |
| 1719 | dispc_pck_free_enable(0); | 1711 | dispc_pck_free_enable(0); |
| 1720 | 1712 | ||
| 1721 | if (enable_hsclk && enable_hsdiv) | 1713 | r = dsi_pll_power(dsidev, DSI_PLL_POWER_ON_ALL); |
| 1722 | pwstate = DSI_PLL_POWER_ON_ALL; | ||
| 1723 | else if (enable_hsclk) | ||
| 1724 | pwstate = DSI_PLL_POWER_ON_HSCLK; | ||
| 1725 | else if (enable_hsdiv) | ||
| 1726 | pwstate = DSI_PLL_POWER_ON_DIV; | ||
| 1727 | else | ||
| 1728 | pwstate = DSI_PLL_POWER_OFF; | ||
| 1729 | |||
| 1730 | r = dsi_pll_power(dsidev, pwstate); | ||
| 1731 | 1714 | ||
| 1732 | if (r) | 1715 | if (r) |
| 1733 | goto err1; | 1716 | goto err1; |
| @@ -4487,7 +4470,7 @@ static int dsi_display_init_dsi(struct platform_device *dsidev) | |||
| 4487 | struct dsi_data *dsi = dsi_get_dsidrv_data(dsidev); | 4470 | struct dsi_data *dsi = dsi_get_dsidrv_data(dsidev); |
| 4488 | int r; | 4471 | int r; |
| 4489 | 4472 | ||
| 4490 | r = dsi_pll_init(dsidev, true, true); | 4473 | r = dsi_pll_init(dsidev); |
| 4491 | if (r) | 4474 | if (r) |
| 4492 | goto err0; | 4475 | goto err0; |
| 4493 | 4476 | ||
