diff options
author | Mika Kuoppala <mika.kuoppala@linux.intel.com> | 2013-02-08 09:35:38 -0500 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2013-02-19 18:21:40 -0500 |
commit | 9d6d9f19e8146fa24903cb561e204a22232740e3 (patch) | |
tree | ec759acecf1b04071e95ca639ef5ca9ba001aa5d /drivers/gpu/drm/i915/intel_display.c | |
parent | 24a1f16de97c4cf0029d9acd04be06db32208726 (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.c | 5 |
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 | ||