On Tue, 2018-09-25 at 20:53 +0300, Ville Syrjälä wrote:
> On Mon, Sep 24, 2018 at 03:45:27PM -0700, Dhinakaran Pandiyan wrote:
> > The intel_dp->detect_done flag is no more useful. Pull
> > intel_dp_long_pulse() into the lone caller,
> > 
> > Cc: Jani Nikula <jani.nik...@linux.intel.com>
> > Cc: Ville Syrjälä <ville.syrj...@linux.intel.com>
> > Signed-off-by: Dhinakaran Pandiyan <dhinakaran.pandi...@intel.com>
> > ---
> >  drivers/gpu/drm/i915/intel_dp.c  | 43 ++++++++------------------
> > ------
> >  drivers/gpu/drm/i915/intel_drv.h |  1 -
> >  2 files changed, 11 insertions(+), 33 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/i915/intel_dp.c
> > b/drivers/gpu/drm/i915/intel_dp.c
> > index 87a631098a6d..d6ea93e453a2 100644
> > --- a/drivers/gpu/drm/i915/intel_dp.c
> > +++ b/drivers/gpu/drm/i915/intel_dp.c
> > @@ -5012,15 +5012,18 @@ intel_dp_unset_edid(struct intel_dp
> > *intel_dp)
> >  }
> >  
> >  static int
> > -intel_dp_long_pulse(struct intel_connector *connector,
> > -               struct drm_modeset_acquire_ctx *ctx)
> > +intel_dp_detect(struct drm_connector *connector,
> > +           struct drm_modeset_acquire_ctx *ctx,
> > +           bool force)
> >  {
> > -   struct drm_i915_private *dev_priv = to_i915(connector-
> > >base.dev);
> > -   struct intel_dp *intel_dp = intel_attached_dp(&connector-
> > >base);
> > +   struct drm_i915_private *dev_priv = to_i915(connector-
> > >dev);
> > +   struct intel_dp *intel_dp = intel_attached_dp(connector);
> >     struct intel_encoder *encoder = &dp_to_dig_port(intel_dp)-
> > >base;
> > -   enum drm_connector_status status;
> > +   int status;
> 
> I guess we don't need this change anymore?

Yeah, I'll remove it.

> 
> Series is
> Reviewed-by: Ville Syrjälä <ville.syrj...@linux.intel.com>
> 
> Not sure if ci actually found some issue with the series, or
> whether it was just having a bad day.

It did find an issue, patch 4/6 wasn't dropping the aux domain
reference in the error path. I've sent a new version with the fix.

-DK 

> 
> >     u8 sink_irq_vector = 0;
> >  
> > +   DRM_DEBUG_KMS("[CONNECTOR:%d:%s]\n",
> > +                 connector->base.id, connector->name);
> >     WARN_ON(!drm_modeset_is_locked(&dev_priv-
> > >drm.mode_config.connection_mutex));
> >  
> >     intel_display_power_get(dev_priv, intel_dp-
> > >aux_power_domain);
> > @@ -5096,9 +5099,9 @@ intel_dp_long_pulse(struct intel_connector
> > *connector,
> >     intel_dp->aux.i2c_defer_count = 0;
> >  
> >     intel_dp_set_edid(intel_dp);
> > -   if (intel_dp_is_edp(intel_dp) || connector->detect_edid)
> > +   if (intel_dp_is_edp(intel_dp) ||
> > +       to_intel_connector(connector)->detect_edid)
> >             status = connector_status_connected;
> > -   intel_dp->detect_done = true;
> >  
> >     /* Try to read the source of the interrupt */
> >     if (intel_dp->dpcd[DP_DPCD_REV] >= 0x11 &&
> > @@ -5123,26 +5126,6 @@ intel_dp_long_pulse(struct intel_connector
> > *connector,
> >     return status;
> >  }
> >  
> > -static int
> > -intel_dp_detect(struct drm_connector *connector,
> > -           struct drm_modeset_acquire_ctx *ctx,
> > -           bool force)
> > -{
> > -   struct intel_dp *intel_dp = intel_attached_dp(connector);
> > -   int status = connector->status;
> > -
> > -   DRM_DEBUG_KMS("[CONNECTOR:%d:%s]\n",
> > -                 connector->base.id, connector->name);
> > -
> > -   /* If full detect is not performed yet, do a full detect
> > */
> > -   if (!intel_dp->detect_done)
> > -           status = intel_dp_long_pulse(intel_dp-
> > >attached_connector, ctx);
> > -
> > -   intel_dp->detect_done = false;
> > -
> > -   return status;
> > -}
> > -
> >  static void
> >  intel_dp_force(struct drm_connector *connector)
> >  {
> > @@ -5635,7 +5618,6 @@ intel_dp_hpd_pulse(struct intel_digital_port
> > *intel_dig_port, bool long_hpd)
> >  
> >     if (long_hpd) {
> >             intel_dp->reset_link_params = true;
> > -           intel_dp->detect_done = false;
> >             return IRQ_NONE;
> >     }
> >  
> > @@ -5652,7 +5634,6 @@ intel_dp_hpd_pulse(struct intel_digital_port
> > *intel_dig_port, bool long_hpd)
> >                     intel_dp->is_mst = false;
> >                     drm_dp_mst_topology_mgr_set_mst(&intel_dp-
> > >mst_mgr,
> >                                                     intel_dp-
> > >is_mst);
> > -                   intel_dp->detect_done = false;
> >                     goto put_power;
> >             }
> >     }
> > @@ -5665,10 +5646,8 @@ intel_dp_hpd_pulse(struct intel_digital_port
> > *intel_dig_port, bool long_hpd)
> >             /* Short pulse can signify loss of hdcp
> > authentication */
> >             intel_hdcp_check_link(intel_dp-
> > >attached_connector);
> >  
> > -           if (!handled) {
> > -                   intel_dp->detect_done = false;
> > +           if (!handled)
> >                     goto put_power;
> > -           }
> >     }
> >  
> >     ret = IRQ_HANDLED;
> > diff --git a/drivers/gpu/drm/i915/intel_drv.h
> > b/drivers/gpu/drm/i915/intel_drv.h
> > index 8073a85d7178..a7c151c40e7d 100644
> > --- a/drivers/gpu/drm/i915/intel_drv.h
> > +++ b/drivers/gpu/drm/i915/intel_drv.h
> > @@ -1070,7 +1070,6 @@ struct intel_dp {
> >     bool link_mst;
> >     bool link_trained;
> >     bool has_audio;
> > -   bool detect_done;
> >     bool reset_link_params;
> >     enum aux_ch aux_ch;
> >     uint8_t dpcd[DP_RECEIVER_CAP_SIZE];
> > -- 
> > 2.17.1
> 
> 
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to