Op 19-12-16 om 09:24 schreef Daniel Vetter:
> Drive-by fixup while looking at all the connector_list walkers -
> holding connection_mutex does actually _not_ give you locking to look
> at the legacy drm_connector->encoder->crtc pointer chain. That one is
> solely owned by the atomic commit workers. Instead we must inspect the
> atomic state.
>
> Signed-off-by: Daniel Vetter <[email protected]>
> ---
>  drivers/gpu/drm/i915/intel_display.c | 5 ++---
>  1 file changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_display.c 
> b/drivers/gpu/drm/i915/intel_display.c
> index 0b0d7e8be630..438d27f93aca 100644
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -15427,15 +15427,14 @@ static int intel_crtc_init(struct drm_i915_private 
> *dev_priv, enum pipe pipe)
>  
>  enum pipe intel_get_pipe_from_connector(struct intel_connector *connector)
>  {
> -     struct drm_encoder *encoder = connector->base.encoder;
>       struct drm_device *dev = connector->base.dev;
>  
>       WARN_ON(!drm_modeset_is_locked(&dev->mode_config.connection_mutex));
>  
> -     if (!encoder || WARN_ON(!encoder->crtc))
> +     if (!connector->base.state->crtc)
>               return INVALID_PIPE;
>  
> -     return to_intel_crtc(encoder->crtc)->pipe;
> +     return to_intel_crtc(connector->base.state->crtc)->pipe;
>  }
>  
>  int intel_get_pipe_from_crtc_id(struct drm_device *dev, void *data,

This patch clashes with the previous patch. intel_panel_set_backlight_acpi is 
called
from asle_set_backlight. You should probably keep connection_mutex alive for it.

~Maarten

_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to