On Wed, 22 Aug 2018, Chris Chiu chiu@endlessm.com wrote:
On Fri, Jul 6, 2018 at 2:44 PM, Chris Chiu chiu@endlessm.com wrote:
On Thu, Jul 5, 2018 at 10:40 PM, Ville Syrjälä ville.syrjala@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
There's a patch https://bugs.freedesktop.org/show_bug.cgi?id=107125#c8. And I verified on the X705FD/X560UD which were easy to reproduce, the patch works as expected. Can anyone kindly give comments about this patch? We can do anything to help fix this issue upstream. Thanks
Seems like a hack. Should look into hw based debouncing or a slight delay in the hotplug work processing I think.
BR, Jani.
Chris
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