summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/exynos/exynos_hdmi.c
diff options
context:
space:
mode:
authorJoonyoung Shim <jy0922.shim@samsung.com>2014-06-03 14:43:42 +0900
committerChanho Park <chanho61.park@samsung.com>2014-11-18 11:59:42 +0900
commitf3d1cb4bf1b14bd768c5870912ec4b497e3ffd37 (patch)
treeb2f9bceba08c90c748d6687a9c0f58305b04ae32 /drivers/gpu/drm/exynos/exynos_hdmi.c
parent59d06503bfb866d67cc8b8e2f30f1f76ff01257b (diff)
downloadlinux-3.10-f3d1cb4bf1b14bd768c5870912ec4b497e3ffd37.tar.gz
linux-3.10-f3d1cb4bf1b14bd768c5870912ec4b497e3ffd37.tar.bz2
linux-3.10-f3d1cb4bf1b14bd768c5870912ec4b497e3ffd37.zip
drm/exynos: do hdmi power control by crtc DPMS
The hdmi should turn off after mixer turns off by H/W limitation. Otherwise, the TV power domain is not disabled. Generally, first it's called DPMS function of encoder than DPMS function of crtc at from DPMS off to DPMS on. It can be solution about the H/W dependency to control hdmi power by crtc DPMS instead of encoder DPMS. Change-Id: I86e39c438453af5bcc19b7109d2e3569d629d52f Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
Diffstat (limited to 'drivers/gpu/drm/exynos/exynos_hdmi.c')
-rw-r--r--drivers/gpu/drm/exynos/exynos_hdmi.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/gpu/drm/exynos/exynos_hdmi.c b/drivers/gpu/drm/exynos/exynos_hdmi.c
index 337e4d69a38..539d6a7eb8f 100644
--- a/drivers/gpu/drm/exynos/exynos_hdmi.c
+++ b/drivers/gpu/drm/exynos/exynos_hdmi.c
@@ -1925,7 +1925,6 @@ static struct exynos_drm_display_ops hdmi_display_ops = {
.create_connector = hdmi_create_connector,
.mode_fixup = hdmi_mode_fixup,
.mode_set = hdmi_mode_set,
- .dpms = hdmi_dpms,
.commit = hdmi_commit,
};
@@ -1934,6 +1933,11 @@ static struct exynos_drm_display hdmi_display = {
.ops = &hdmi_display_ops,
};
+void hdmi_dpms_from_mixer(int mode)
+{
+ hdmi_dpms(&hdmi_display, mode);
+}
+
static irqreturn_t hdmi_irq_thread(int irq, void *arg)
{
struct hdmi_context *hdata = arg;