aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/intel_panel.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/i915/intel_panel.c')
-rw-r--r--drivers/gpu/drm/i915/intel_panel.c13
1 files changed, 6 insertions, 7 deletions
diff --git a/drivers/gpu/drm/i915/intel_panel.c b/drivers/gpu/drm/i915/intel_panel.c
index 4a9f139e7b73..e6cd7b55c018 100644
--- a/drivers/gpu/drm/i915/intel_panel.c
+++ b/drivers/gpu/drm/i915/intel_panel.c
@@ -111,7 +111,7 @@ intel_pch_panel_fitting(struct intel_crtc *intel_crtc,
111 /* Native modes don't need fitting */ 111 /* Native modes don't need fitting */
112 if (adjusted_mode->crtc_hdisplay == pipe_config->pipe_src_w && 112 if (adjusted_mode->crtc_hdisplay == pipe_config->pipe_src_w &&
113 adjusted_mode->crtc_vdisplay == pipe_config->pipe_src_h && 113 adjusted_mode->crtc_vdisplay == pipe_config->pipe_src_h &&
114 !pipe_config->ycbcr420) 114 pipe_config->output_format != INTEL_OUTPUT_FORMAT_YCBCR420)
115 goto done; 115 goto done;
116 116
117 switch (fitting_mode) { 117 switch (fitting_mode) {
@@ -505,7 +505,7 @@ static u32 _vlv_get_backlight(struct drm_i915_private *dev_priv, enum pipe pipe)
505static u32 vlv_get_backlight(struct intel_connector *connector) 505static u32 vlv_get_backlight(struct intel_connector *connector)
506{ 506{
507 struct drm_i915_private *dev_priv = to_i915(connector->base.dev); 507 struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
508 enum pipe pipe = intel_get_pipe_from_connector(connector); 508 enum pipe pipe = intel_connector_get_pipe(connector);
509 509
510 return _vlv_get_backlight(dev_priv, pipe); 510 return _vlv_get_backlight(dev_priv, pipe);
511} 511}
@@ -763,7 +763,7 @@ static void pwm_disable_backlight(const struct drm_connector_state *old_conn_sta
763 struct intel_panel *panel = &connector->panel; 763 struct intel_panel *panel = &connector->panel;
764 764
765 /* Disable the backlight */ 765 /* Disable the backlight */
766 pwm_config(panel->backlight.pwm, 0, CRC_PMIC_PWM_PERIOD_NS); 766 intel_panel_actually_set_backlight(old_conn_state, 0);
767 usleep_range(2000, 3000); 767 usleep_range(2000, 3000);
768 pwm_disable(panel->backlight.pwm); 768 pwm_disable(panel->backlight.pwm);
769} 769}
@@ -1814,11 +1814,8 @@ int intel_panel_setup_backlight(struct drm_connector *connector, enum pipe pipe)
1814 return 0; 1814 return 0;
1815} 1815}
1816 1816
1817void intel_panel_destroy_backlight(struct drm_connector *connector) 1817static void intel_panel_destroy_backlight(struct intel_panel *panel)
1818{ 1818{
1819 struct intel_connector *intel_connector = to_intel_connector(connector);
1820 struct intel_panel *panel = &intel_connector->panel;
1821
1822 /* dispose of the pwm */ 1819 /* dispose of the pwm */
1823 if (panel->backlight.pwm) 1820 if (panel->backlight.pwm)
1824 pwm_put(panel->backlight.pwm); 1821 pwm_put(panel->backlight.pwm);
@@ -1923,6 +1920,8 @@ void intel_panel_fini(struct intel_panel *panel)
1923 struct intel_connector *intel_connector = 1920 struct intel_connector *intel_connector =
1924 container_of(panel, struct intel_connector, panel); 1921 container_of(panel, struct intel_connector, panel);
1925 1922
1923 intel_panel_destroy_backlight(panel);
1924
1926 if (panel->fixed_mode) 1925 if (panel->fixed_mode)
1927 drm_mode_destroy(intel_connector->base.dev, panel->fixed_mode); 1926 drm_mode_destroy(intel_connector->base.dev, panel->fixed_mode);
1928 1927