aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/tegra/output.c
diff options
context:
space:
mode:
authorThierry Reding <treding@nvidia.com>2013-10-29 11:03:03 -0400
committerThierry Reding <treding@nvidia.com>2013-12-19 03:29:55 -0500
commitb5190022f77a41465c2202f621a5fa07c9aabb7b (patch)
treebbdb18d1010430c0b01d25ad32b1ccd565d21f24 /drivers/gpu/drm/tegra/output.c
parent365765fc293e68a1d2ce63811b80c5b3c33eebd1 (diff)
drm/tegra: Disable outputs for power-saving
When an output is disabled, its DPMS mode is usually set to off. Instead of only disabling the panel (if one is attached), turn the output off entirely to save more power. HDMI doesn't have any panels attached, so it previously didn't save any power at all. With this commit, however, the complete HDMI interface will be turned off, therefore allowing an attached monitor to go into a standby mode. Signed-off-by: Thierry Reding <treding@nvidia.com>
Diffstat (limited to 'drivers/gpu/drm/tegra/output.c')
-rw-r--r--drivers/gpu/drm/tegra/output.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/drivers/gpu/drm/tegra/output.c b/drivers/gpu/drm/tegra/output.c
index 5dc4d1a9cad8..581dc5d37bed 100644
--- a/drivers/gpu/drm/tegra/output.c
+++ b/drivers/gpu/drm/tegra/output.c
@@ -130,11 +130,12 @@ static void tegra_encoder_dpms(struct drm_encoder *encoder, int mode)
130 struct tegra_output *output = encoder_to_output(encoder); 130 struct tegra_output *output = encoder_to_output(encoder);
131 struct drm_panel *panel = output->panel; 131 struct drm_panel *panel = output->panel;
132 132
133 if (panel && panel->funcs) { 133 if (mode != DRM_MODE_DPMS_ON) {
134 if (mode != DRM_MODE_DPMS_ON) 134 drm_panel_disable(panel);
135 drm_panel_disable(panel); 135 tegra_output_disable(output);
136 else 136 } else {
137 drm_panel_enable(panel); 137 tegra_output_enable(output);
138 drm_panel_enable(panel);
138 } 139 }
139} 140}
140 141