On Tue, 23 Oct 2018 17:14:34 +0800 Chris Chiu <chiu@xxxxxxxxxxxx> wrote: > On Thu, Oct 11, 2018 at 2:04 AM Guang Bai <guang.bai@xxxxxxxxx> wrote: > > > On Mon, 8 Oct 2018 08:56:20 -0700 > > Guang Bai <guang.bai@xxxxxxxxx> wrote: > > > > > On Mon, 8 Oct 2018 22:35:34 +0800 > > > Chris Chiu <chiu@xxxxxxxxxxxx> wrote: > > > > > > > Thanks! I have no problem with this patch. > > > > > > There are Fi.CI.BAT failures with the v2 (only with formatting fix > > > added) while the previous patch had passing results. > > > Now trying to identify why the failures happened with trybot > > > Thanks, > > > Guang > > The tribot run my patch twice and passes the tests without any error > > however I'm recommended to chase down root causes of Patchwork > > Fi.CI.BAT test errors still - WIP on that. > > Thanks, > > Guang > > > > Gentle ping. Any good news on this? > > Chris > Sorry...was distracted by other dev taks...will get update ASAP. -Guang > > > > > > > > > > > > On Thu, Oct 4, 2018 at 2:08 AM Guang Bai <guang.bai@xxxxxxxxx> > > > > wrote: > > > > > On some platforms, slowly unplugging (wiggling) the HDMI cable > > > > > makes the kernel to believe the HDMI display still connected. > > > > > This is because the HDMI DDC lines are disconnected sometimes > > > > > later after the hot-plug interrupt triggered. Use the hot plug > > > > > live states to honor HDMI hot plug status in addtion to access > > > > > the DDC channels. > > > > > > > > > > v2: Fix the formatting issue > > > > > > > > > > Cc: Jani Nikula <jani.nikula@xxxxxxxxx> > > > > > Cc: Chris Chiu <chiu@xxxxxxxxxxxx> > > > > > Signed-off-by: Guang Bai <guang.bai@xxxxxxxxx> > > > > > --- > > > > > drivers/gpu/drm/i915/intel_hotplug.c | 32 > > > > > +++++++++++++++++++++++++++++--- 1 file changed, 29 > > > > > insertions(+), 3 deletions(-) > > > > > > > > > > diff --git a/drivers/gpu/drm/i915/intel_hotplug.c > > > > > b/drivers/gpu/drm/i915/intel_hotplug.c > > > > > index 648a13c..98ab1ab 100644 > > > > > --- a/drivers/gpu/drm/i915/intel_hotplug.c > > > > > +++ b/drivers/gpu/drm/i915/intel_hotplug.c > > > > > @@ -246,17 +246,43 @@ static void > > > > > intel_hpd_irq_storm_reenable_work(struct work_struct *work) > > > > > intel_runtime_pm_put(dev_priv); > > > > > } > > > > > > > > > > +#define MAX_SHORT_PULSE_MS 100 > > > > > +#define PORT_CHECK_LOOP_COUNT 3 > > > > > + > > > > > bool intel_encoder_hotplug(struct intel_encoder *encoder, > > > > > struct intel_connector *connector) > > > > > { > > > > > struct drm_device *dev = connector->base.dev; > > > > > - enum drm_connector_status old_status; > > > > > + enum drm_connector_status old_status, new_status; > > > > > + enum hpd_pin pin = encoder->hpd_pin; > > > > > + struct drm_i915_private *dev_priv = > > > > > to_i915(encoder->base.dev); > > > > > + u32 count = 0; > > > > > > > > > > WARN_ON(!mutex_is_locked(&dev->mode_config.mutex)); > > > > > old_status = connector->base.status; > > > > > > > > > > - connector->base.status = > > > > > - drm_helper_probe_detect(&connector->base, > > > > > NULL, false); > > > > > + /* > > > > > + * Set HDMI connection status based on hot-plug live > > > > > states and > > > > > + * display probe results. > > > > > + */ > > > > > + if ((encoder->type == INTEL_OUTPUT_HDMI || > > > > > + encoder->type == INTEL_OUTPUT_DDI) && > > > > > + dev_priv->hotplug.stats[pin].state == > > > > > HPD_ENABLED) { > > > > > + do { > > > > > + new_status = > > > > > connector_status_disconnected; > > > > > + msleep(MAX_SHORT_PULSE_MS); > > > > > + > > > > > + if > > > > > (intel_digital_port_connected(encoder)) > > > > > + new_status = > > > > > drm_helper_probe_detect(&connector->base, > > > > > + > > > > > NULL, false); > > > > > + if (new_status == > > > > > connector_status_connected) > > > > > + break; > > > > > + } while (++count <= PORT_CHECK_LOOP_COUNT); > > > > > + connector->base.status = new_status; > > > > > + } else { > > > > > + connector->base.status = > > > > > + > > > > > drm_helper_probe_detect(&connector->base, NULL, false); > > > > > + } > > > > > > > > > > if (old_status == connector->base.status) > > > > > return false; > > > > > -- > > > > > 2.7.4 > > > > > > > > > > > > > > > > _______________________________________________ > > > Intel-gfx mailing list > > > Intel-gfx@xxxxxxxxxxxxxxxxxxxxx > > > https://lists.freedesktop.org/mailman/listinfo/intel-gfx > > > > _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx