aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/intel_display.c
diff options
context:
space:
mode:
authorMika Kuoppala <mika.kuoppala@linux.intel.com>2013-02-08 09:35:38 -0500
committerDaniel Vetter <daniel.vetter@ffwll.ch>2013-02-19 18:21:40 -0500
commit9d6d9f19e8146fa24903cb561e204a22232740e3 (patch)
treeec759acecf1b04071e95ca639ef5ca9ba001aa5d /drivers/gpu/drm/i915/intel_display.c
parent24a1f16de97c4cf0029d9acd04be06db32208726 (diff)
drm/i915: clean up panel fitter handling in lvds
With the previous patch "drm/i915: disable shared panel fitter for pipe" we now disable the panel fitter at the right spot in the modeset sequence in the crtc functions on all platforms. Hence the disabling in intel_disable_lvds is no longer required and potentially harmful (since the plane is still enabled at this point). Similarly on the enabling side we enable the panel fitter in the lvds callback only once the plane is enabled. Which is too late. Hence move this into a new intel_pre_enable_lvds callback. Finally we can ditch lvds_encoder->pfit_dirty - this was required to work around the crtc helper semantics, but with the new i915 modeset infrastructure we should enable/disable the pfit only when enabling or disabling the entire output pipeline. So separate state tracking for the pfit is no longer required. Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com> [danvet: Bikeshed the commit message a bit to stress that now we enable/disable the pfit on i9xx platforms at the right point of time compared to the old code.] Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'drivers/gpu/drm/i915/intel_display.c')
-rw-r--r--drivers/gpu/drm/i915/intel_display.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index fc9b98794b25..6fe4d07778e3 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -3615,6 +3615,11 @@ static void i9xx_crtc_enable(struct drm_crtc *crtc)
3615 intel_update_watermarks(dev); 3615 intel_update_watermarks(dev);
3616 3616
3617 intel_enable_pll(dev_priv, pipe); 3617 intel_enable_pll(dev_priv, pipe);
3618
3619 for_each_encoder_on_crtc(dev, crtc, encoder)
3620 if (encoder->pre_enable)
3621 encoder->pre_enable(encoder);
3622
3618 intel_enable_pipe(dev_priv, pipe, false); 3623 intel_enable_pipe(dev_priv, pipe, false);
3619 intel_enable_plane(dev_priv, plane, pipe); 3624 intel_enable_plane(dev_priv, plane, pipe);
3620 3625