On Wed, Feb 17, 2016 at 09:28:45PM +0200, ville.syrjala@xxxxxxxxxxxxxxx wrote: > From: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > > We have an open coded loop which tries to see if the encoder has any > connectors linked to it. Let's extract that to a helper similar to > intel_crtc_has_encoders(). > > Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> > --- > drivers/gpu/drm/i915/intel_display.c | 22 ++++++++++++---------- > 1 file changed, 12 insertions(+), 10 deletions(-) > > diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c > index afcabe455ad1..4071b75a7247 100644 > --- a/drivers/gpu/drm/i915/intel_display.c > +++ b/drivers/gpu/drm/i915/intel_display.c > @@ -15486,6 +15486,17 @@ static bool intel_crtc_has_encoders(struct intel_crtc *crtc) > return false; > } > > +static bool intel_encoder_has_connectors(struct intel_encoder *encoder) > +{ > + struct drm_device *dev = encoder->base.dev; > + struct intel_connector *connector; > + > + for_each_connector_on_encoder(dev, &encoder->base, connector) > + return true; > + > + return false; > +} > + > static void intel_sanitize_crtc(struct intel_crtc *crtc) > { > struct drm_device *dev = crtc->base.dev; > @@ -15596,7 +15607,6 @@ static void intel_sanitize_encoder(struct intel_encoder *encoder) > { > struct intel_connector *connector; > struct drm_device *dev = encoder->base.dev; > - bool active = false; > > /* We need to check both for a crtc link (meaning that the > * encoder is active and trying to read from a pipe) and the > @@ -15604,15 +15614,7 @@ static void intel_sanitize_encoder(struct intel_encoder *encoder) > bool has_active_crtc = encoder->base.crtc && > to_intel_crtc(encoder->base.crtc)->active; > > - for_each_intel_connector(dev, connector) { > - if (connector->base.encoder != &encoder->base) > - continue; > - > - active = true; > - break; > - } > - > - if (active && !has_active_crtc) { > + if (intel_encoder_has_connectors(encoder) && !has_active_crtc) { > DRM_DEBUG_KMS("[ENCODER:%d:%s] has active connectors but no active pipe!\n", > encoder->base.base.id, > encoder->base.name); > -- > 2.4.10 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@xxxxxxxxxxxxxxxxxxxxx > https://lists.freedesktop.org/mailman/listinfo/intel-gfx -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx