summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/msm/dba_bridge.c
diff options
context:
space:
mode:
authorCamus Wong <camusw@codeaurora.org>2018-02-05 17:14:44 -0500
committerCamus Wong <camusw@codeaurora.org>2018-02-12 19:36:58 -0500
commitdef1bee62a0a653ae4a7824a17ddec1b182c98dd (patch)
tree7eccdaaa6d32f96aa3d4109c4400a6548f0c40f7 /drivers/gpu/drm/msm/dba_bridge.c
parenta15bce8f33bccaa3b83b40024620fd36533685c2 (diff)
DRM: DBA: Adding hardware power sequence to DBA power off code
Adding power off register sequence to reduce power in power off. Adding switch GPIO sequence in power on/off call. Change-Id: Ifbe57852a43e1b1d0f05594a84a10540cfeb6be7 Signed-off-by: Camus Wong <camusw@codeaurora.org>
Diffstat (limited to 'drivers/gpu/drm/msm/dba_bridge.c')
-rw-r--r--drivers/gpu/drm/msm/dba_bridge.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/drivers/gpu/drm/msm/dba_bridge.c b/drivers/gpu/drm/msm/dba_bridge.c
index f933a7f3dcfb..49999ba468e5 100644
--- a/drivers/gpu/drm/msm/dba_bridge.c
+++ b/drivers/gpu/drm/msm/dba_bridge.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016-2017, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2016-2018, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
@@ -205,7 +205,8 @@ static void _dba_bridge_disable(struct drm_bridge *bridge)
}
if (d_bridge->ops.video_on) {
- rc = d_bridge->ops.video_on(d_bridge->dba_ctx, false, NULL, 0);
+ rc = d_bridge->ops.video_on(d_bridge->dba_ctx,
+ false, NULL, 0);
if (rc)
SDE_ERROR("video off failed ret=%d\n", rc);
}
@@ -213,10 +214,19 @@ static void _dba_bridge_disable(struct drm_bridge *bridge)
static void _dba_bridge_post_disable(struct drm_bridge *bridge)
{
+ int rc = 0;
+ struct dba_bridge *d_bridge = to_dba_bridge(bridge);
+
if (!bridge) {
SDE_ERROR("Invalid params\n");
return;
}
+
+ if (d_bridge->ops.power_on) {
+ rc = d_bridge->ops.power_on(d_bridge->dba_ctx, false, 0);
+ if (rc)
+ SDE_ERROR("power off failed ret=%d\n", rc);
+ }
}
static void _dba_bridge_mode_set(struct drm_bridge *bridge,