diff mbox

[7/8] Move encoder enable around

Message ID 1366274775-10733-7-git-send-email-daniel.vetter@ffwll.ch (mailing list archive)
State New, archived
Headers show

Commit Message

Daniel Vetter April 18, 2013, 8:46 a.m. UTC
-> Will break everything else.
---
 drivers/gpu/drm/i915/intel_display.c |    6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

Comments

Jesse Barnes April 18, 2013, 3:14 p.m. UTC | #1
On Thu, 18 Apr 2013 10:46:14 +0200
Daniel Vetter <daniel.vetter@ffwll.ch> wrote:

> -> Will break everything else.
> ---
>  drivers/gpu/drm/i915/intel_display.c |    6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> index df3132c..7042b2f 100644
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -3866,6 +3866,9 @@ static void i9xx_crtc_enable(struct drm_crtc *crtc)
>  		if (encoder->pre_enable)
>  			encoder->pre_enable(encoder);
>  
> +	for_each_encoder_on_crtc(dev, crtc, encoder)
> +		encoder->enable(encoder);
> +
>  	if (IS_VALLEYVIEW(dev)) {
>  		char port;
>  
> @@ -3894,9 +3897,6 @@ static void i9xx_crtc_enable(struct drm_crtc *crtc)
>  	/* Give the overlay scaler a chance to enable if it's on this pipe */
>  	intel_crtc_dpms_overlay(intel_crtc, true);
>  	intel_crtc_update_cursor(crtc, true);
> -
> -	for_each_encoder_on_crtc(dev, crtc, encoder)
> -		encoder->enable(encoder);
>  }
>  
>  static void i9xx_pfit_disable(struct intel_crtc *crtc)

I don't think so; the gen4 docs even have this order now iirc?  But
this patch can be dropped too.
Daniel Vetter April 18, 2013, 3:27 p.m. UTC | #2
On Thu, Apr 18, 2013 at 08:14:03AM -0700, Jesse Barnes wrote:
> On Thu, 18 Apr 2013 10:46:14 +0200
> Daniel Vetter <daniel.vetter@ffwll.ch> wrote:
> 
> > -> Will break everything else.
> > ---
> >  drivers/gpu/drm/i915/intel_display.c |    6 +++---
> >  1 file changed, 3 insertions(+), 3 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> > index df3132c..7042b2f 100644
> > --- a/drivers/gpu/drm/i915/intel_display.c
> > +++ b/drivers/gpu/drm/i915/intel_display.c
> > @@ -3866,6 +3866,9 @@ static void i9xx_crtc_enable(struct drm_crtc *crtc)
> >  		if (encoder->pre_enable)
> >  			encoder->pre_enable(encoder);
> >  
> > +	for_each_encoder_on_crtc(dev, crtc, encoder)
> > +		encoder->enable(encoder);
> > +
> >  	if (IS_VALLEYVIEW(dev)) {
> >  		char port;
> >  
> > @@ -3894,9 +3897,6 @@ static void i9xx_crtc_enable(struct drm_crtc *crtc)
> >  	/* Give the overlay scaler a chance to enable if it's on this pipe */
> >  	intel_crtc_dpms_overlay(intel_crtc, true);
> >  	intel_crtc_update_cursor(crtc, true);
> > -
> > -	for_each_encoder_on_crtc(dev, crtc, encoder)
> > -		encoder->enable(encoder);
> >  }
> >  
> >  static void i9xx_pfit_disable(struct intel_crtc *crtc)
> 
> I don't think so; the gen4 docs even have this order now iirc?  But
> this patch can be dropped too.

Not in my docs here. The only thing I remember is some note wrt
disabling/enabling DP ports, which should be treated like the cpu port on
ilk-ivb I think (according to the usual-terse wa db entry). But currently
we do that by moving the steps around in the encoder callbacks, not the
places the callbacks are called.
-Daniel
diff mbox

Patch

diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index df3132c..7042b2f 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -3866,6 +3866,9 @@  static void i9xx_crtc_enable(struct drm_crtc *crtc)
 		if (encoder->pre_enable)
 			encoder->pre_enable(encoder);
 
+	for_each_encoder_on_crtc(dev, crtc, encoder)
+		encoder->enable(encoder);
+
 	if (IS_VALLEYVIEW(dev)) {
 		char port;
 
@@ -3894,9 +3897,6 @@  static void i9xx_crtc_enable(struct drm_crtc *crtc)
 	/* Give the overlay scaler a chance to enable if it's on this pipe */
 	intel_crtc_dpms_overlay(intel_crtc, true);
 	intel_crtc_update_cursor(crtc, true);
-
-	for_each_encoder_on_crtc(dev, crtc, encoder)
-		encoder->enable(encoder);
 }
 
 static void i9xx_pfit_disable(struct intel_crtc *crtc)