On Wed, Feb 17, 2016 at 09:28:45PM +0200, [email protected] wrote:
> From: Ville Syrjälä <[email protected]>
> 
> 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ä <[email protected]>

Reviewed-by: Daniel Vetter <[email protected]>

> ---
>  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
> [email protected]
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to