summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/exynos/exynos_drm_dsi.c
diff options
context:
space:
mode:
authorHyungwon Hwang <human.hwang@samsung.com>2015-04-21 10:58:26 +0900
committerSeung-Woo Kim <sw0312.kim@samsung.com>2016-12-14 13:43:26 +0900
commita795b6bf319c8dc536e7ba4b43c9378045d74124 (patch)
tree695a50045679514d19488e4ec13f0c5b53142771 /drivers/gpu/drm/exynos/exynos_drm_dsi.c
parent82b497929a3820151f0f07e46f2d1a900c485e0e (diff)
Revert "temporary / remove dsi phy related code"
This reverts the commit 38bf1efd189fb4578b97bbf857eeb12d987f9021 ("temporary / remove dsi phy related code"). Signed-off-by: Hyungwon Hwang <human.hwang@samsung.com>
Diffstat (limited to 'drivers/gpu/drm/exynos/exynos_drm_dsi.c')
-rw-r--r--drivers/gpu/drm/exynos/exynos_drm_dsi.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/drivers/gpu/drm/exynos/exynos_drm_dsi.c b/drivers/gpu/drm/exynos/exynos_drm_dsi.c
index 6f948bdeb855..102433e5d15f 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_dsi.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_dsi.c
@@ -1462,6 +1462,12 @@ static int exynos_dsi_poweron(struct exynos_dsi *dsi)
goto err_clk;
}
+ ret = phy_power_on(dsi->phy);
+ if (ret < 0) {
+ dev_err(dsi->dev, "cannot enable phy %d\n", ret);
+ goto err_clk;
+ }
+
return 0;
err_clk:
@@ -1489,6 +1495,8 @@ static void exynos_dsi_poweroff(struct exynos_dsi *dsi)
dsi->state &= ~DSIM_STATE_CMD_LPM;
+ phy_power_off(dsi->phy);
+
for (i = driver_data->num_clks - 1; i > -1; i--)
clk_disable_unprepare(dsi->clks[i]);
@@ -1901,6 +1909,13 @@ static int exynos_dsi_probe(struct platform_device *pdev)
goto err_del_component;
}
+ dsi->phy = devm_phy_get(dev, "dsim");
+ if (IS_ERR(dsi->phy)) {
+ dev_info(dev, "failed to get dsim phy\n");
+ ret = PTR_ERR(dsi->phy);
+ goto err_del_component;
+ }
+
dsi->irq = platform_get_irq(pdev, 0);
if (dsi->irq < 0) {
dev_err(dev, "failed to request dsi irq resource\n");