summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/exynos
diff options
context:
space:
mode:
authorAndrzej Hajda <a.hajda@samsung.com>2016-03-23 13:15:13 (GMT)
committerInki Dae <daeinki@gmail.com>2016-04-29 16:03:54 (GMT)
commit5dd45e2cd2470dc91c1af8548eaa266796d9cf8c (patch)
treef6cb7ca569cef0237f43120feed2adc41cf200dd /drivers/gpu/drm/exynos
parent4677f51ade432987f01062abad9e4cf60fd33f7d (diff)
downloadlinux-5dd45e2cd2470dc91c1af8548eaa266796d9cf8c.tar.xz
drm/exynos/hdmi: add PHY power off signal handling
HDMI-PHY power off bit defaults to 0 in older HDMI versions. In case of Exynos5433 it defaults to 1. To make code consistent across all versions this bit is always unset/set in power on/off sequences. Signed-off-by: Andrzej Hajda <a.hajda@samsung.com> Signed-off-by: Inki Dae <inki.dae@samsung.com>
Diffstat (limited to 'drivers/gpu/drm/exynos')
-rw-r--r--drivers/gpu/drm/exynos/exynos_hdmi.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/gpu/drm/exynos/exynos_hdmi.c b/drivers/gpu/drm/exynos/exynos_hdmi.c
index 8faf315..3f1eb07 100644
--- a/drivers/gpu/drm/exynos/exynos_hdmi.c
+++ b/drivers/gpu/drm/exynos/exynos_hdmi.c
@@ -1754,6 +1754,8 @@ static void hdmi_enable(struct drm_encoder *encoder)
hdmi_set_refclk(hdata, true);
+ hdmi_reg_writemask(hdata, HDMI_PHY_CON_0, 0, HDMI_PHY_POWER_OFF_EN);
+
hdmi_conf_apply(hdata);
hdata->powered = true;
@@ -1786,6 +1788,8 @@ static void hdmi_disable(struct drm_encoder *encoder)
cancel_delayed_work(&hdata->hotplug_work);
+ hdmi_reg_writemask(hdata, HDMI_PHY_CON_0, ~0, HDMI_PHY_POWER_OFF_EN);
+
hdmi_set_refclk(hdata, false);
regmap_update_bits(hdata->pmureg, PMU_HDMI_PHY_CONTROL,