On Fri, Dec 11, 2015 at 03:12:05PM +0800, Gary Wang wrote: > The total delay of HDMI hotplug detecting with 30ms should have > been split into a resolution of 3 retries of 10ms each, for the worst > cases. But it still suffered from only waiting 10ms at most in > intel_hdmi_detect(). This patch corrects it by reading hotplug status > with 4 times at most for 30ms delay. > > Reviewed-by: Cooper Chiou <cooper.chiou@xxxxxxxxx> > Tested-by: Gary Wang <gary.c.wang@xxxxxxxxx> > Cc: Gavin Hindman <gavin.hindman@xxxxxxxxx> > Cc: Sonika Jindal <sonika.jindal@xxxxxxxxx> > Signed-off-by: Gary Wang <gary.c.wang@xxxxxxxxx> > --- > drivers/gpu/drm/i915/intel_hdmi.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > mode change 100644 => 100755 drivers/gpu/drm/i915/intel_hdmi.c > > diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c > old mode 100644 > new mode 100755 > index be7fab9..ba042cf > --- a/drivers/gpu/drm/i915/intel_hdmi.c > +++ b/drivers/gpu/drm/i915/intel_hdmi.c > @@ -1394,11 +1394,13 @@ intel_hdmi_detect(struct drm_connector *connector, bool force) > > intel_display_power_get(dev_priv, POWER_DOMAIN_GMBUS); > > - while (!live_status && --retry) { > + do { > live_status = intel_digital_port_connected(dev_priv, > hdmi_to_dig_port(intel_hdmi)); > + if (live_status || !retry) > + break; > mdelay(10); > - } > + } while (retry--); I agree with Ville, let's just go with an obviously correct for loop here. This is apparently too hard ;-) -Daniel > > if (!live_status) > DRM_DEBUG_KMS("Live status not up!"); > -- > 1.9.1 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@xxxxxxxxxxxxxxxxxxxxx > http://lists.freedesktop.org/mailman/listinfo/intel-gfx -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx