소스 검색

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>
Thierry Reding 12 년 전
부모
커밋
b5190022f7
1개의 변경된 파일6개의 추가작업 그리고 5개의 파일을 삭제
  1. 6 5
      drivers/gpu/drm/tegra/output.c

+ 6 - 5
drivers/gpu/drm/tegra/output.c

@@ -130,11 +130,12 @@ static void tegra_encoder_dpms(struct drm_encoder *encoder, int mode)
 	struct tegra_output *output = encoder_to_output(encoder);
 	struct drm_panel *panel = output->panel;
 
-	if (panel && panel->funcs) {
-		if (mode != DRM_MODE_DPMS_ON)
-			drm_panel_disable(panel);
-		else
-			drm_panel_enable(panel);
+	if (mode != DRM_MODE_DPMS_ON) {
+		drm_panel_disable(panel);
+		tegra_output_disable(output);
+	} else {
+		tegra_output_enable(output);
+		drm_panel_enable(panel);
 	}
 }