[Intel-gfx] [BUG] i915 HDMI connector status is connected after disconnection

Guang Bai guang.bai at intel.com
Fri Jul 6 17:41:18 UTC 2018


On Fri, 6 Jul 2018 14:44:58 +0800
Chris Chiu <chiu at endlessm.com> wrote:

> On Thu, Jul 5, 2018 at 10:40 PM, Ville Syrjälä
> <ville.syrjala at linux.intel.com> wrote:
> > On Thu, Jul 05, 2018 at 03:58:36PM +0800, Chris Chiu wrote:  
> >> Hi,
> >>     We have few ASUS laptops X705FD (The new WiskyLake), X560UD
> >> (intel i5-8250U), X530UN (intel i7-8550U) share the same problem,
> >> which is the HDMI connector status stays connected even the HDMI
> >> cable has been unplugged. Look into the
> >> "/sys/class/drm/card0-HDMI-A-1/status" for checking the status
> >> while plug/unplug the HDMI, it shows "disconnected" before plug in
> >> HDMI cable, then switch to "connected" after plugin, and still
> >> stay "connected" after unplug. This would cause the audio output
> >> path cannot correctly switch from HDMI to internal speaker after
> >> unplugging the HDMI.
> >>
> >> I then try to verify with the latest kernel 4.18.0-rc3+, the bug
> >> still present. The full "dmesg" log is here.
> >> https://gist.github.com/mschiu77/d761d7c5cf191b7868d4d7788ae087f1
> >>
> >> The HDMI cable is plugged in at ~26th second.
> >> "[ 26.214371] [drm:drm_detect_monitor_audio [drm]] Monitor has
> >> basic audio support"
> >> then unplug the HDMI at ~73th second.
> >> "[ 73.328361] [drm:drm_detect_monitor_audio [drm]] Monitor has
> >> basic audio support"
> >>
> >> Please advise what I can do to fix this. Thanks  
> >
> > Pull the cable out faster?
> >
> > I presume this is the same old case of hpd disconnecting slightly
> > before ddc and we still manage to read the EDID when processing
> > the hpd irq. We kinda tried to fix that with the live status
> > check but that thing failed spectacularly.
> >
> > --
> > Ville Syrjälä
> > Intel  
> 
> Thanks for the suggestion. I tried pulling the cable out faster, the
> status shows correctly. I also tried branch drm-tip of
> https://cgit.freedesktop.org/drm/drm-tip
> but the symptom persists.
> 
> Anything I can help here? Or any old commit/patch I can try to do some
> experiments?
> 
> Chris
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx

I'm working on a same issue with HP KBL ThinPro laptop where both

kernel 4.9.79 & 4.15.7 are failing the same way:
- Unplug the HDMI cable slowly the connector status is still
  "connected"

Debugging shows from kernel 4.9 and up to 4.18 drim/i915 behaves the
same way:
- When the HDMI calbe is unplugged, there is a transition time when
  the DDC lines are still connected and i915 can read back the EDID
  and honors "connected" state

This problem does not happen on Windows7 & Windows 10 on the same
failing platform - Windows KMD does *not* read the DDC when seeing the
corresponding PCH/HPD pins indicating "disconnected" within 300ms-400ms
period - This checking is done during bottom-half interrupt routines

I worked patches with both 4.15.7 and 4.17.1 intercepting this Windows
KMD logics; It seems these patches work for HP KBL ThinPro laptop - My
patches are being tested by HP team - I was just about to post the open
discussion on this topic to collect inputs from our community
- Do we have to refactor the HDMI hot-plug handling codes to cope with
  this long standing issue?
- Is that OK to add 300ms-500ms delay "msleep(100)" in a loop in the
  bottom half of interrupt routines?

Regards,
-Guang


More information about the Intel-gfx mailing list