Bug 55372 - HDMI unplug detection after gen4 should check HPD before EDID
Summary: HDMI unplug detection after gen4 should check HPD before EDID
Status: CLOSED FIXED
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/Intel (show other bugs)
Version: XOrg git
Hardware: Other All
: medium normal
Assignee: Damien Lespiau
QA Contact: Intel GFX Bugs mailing list
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-09-26 22:29 UTC by Josh Triplett
Modified: 2017-07-24 23:00 UTC (History)
6 users (show)

See Also:
i915 platform:
i915 features:


Attachments

Description Josh Triplett 2012-09-26 22:29:12 UTC
Stéphane Marchesin from Google reported an issue with HDMI unplug detection:
> if you unplug the hdmi connector
> slowly enough, the hotplug interrupt fires but then the kernel code tries
> to read the EDID and succeeds (because the connector is still half
> connected and DDC works). Since EDID succeeds it thinks the monitor is
> still connected.

Commit 8ec22b214d76773c9d89f4040505ce10f677ed9a ("drm/i915/hdmi: Query the live connector status bit for G4x") fixed this for gen4, by checking the HPD live status before attempting to read the EDID.  However, this fix doesn't cover newer gen graphics; Stéphane reported this issue on SNB and IVB.
Comment 1 Damien Lespiau 2012-12-03 16:08:33 UTC
Right, so I had a look at this one and could not find any register that would give us the live status of HPD on SNB+. Chris (Wilson) do not recall finding one either.

The closest seems to be SHOTPLUG_CTL that gives us the latest detected pulse, does not seem that useful though, unless I'm missing something.
Comment 2 Damien Lespiau 2012-12-12 19:53:56 UTC
Hi,

Our docs were updated in the mean time and now point at the right bit, could you try:

http://lists.freedesktop.org/archives/intel-gfx/2012-December/023314.html

Thanks,

-- 
Damien
Comment 3 Damien Lespiau 2012-12-14 15:51:57 UTC
Patches have landed in drm-intel-next-queued. They should be straightforward to apply to 3.8.
Comment 4 Florian Mickler 2013-03-04 22:55:31 UTC
A patch referencing this bug report has been merged in Linux v3.9-rc1:

commit b0ea7d37a8f63eeec5ae80b4a6403cfba01da02f
Author: Damien Lespiau <damien.lespiau@intel.com>
Date:   Thu Dec 13 16:09:00 2012 +0000

    drm/i915/hdmi: Read the HPD status before trying to read the EDID
Comment 5 Florian Mickler 2013-03-05 00:58:46 UTC
A patch referencing a commit somehow associated to this bug report has been merged in Linux v3.9-rc1:

commit 202adf4b9f5957b26a1cb97267d78e0edb319c5e
Author: Daniel Vetter <daniel.vetter@ffwll.ch>
Date:   Fri Feb 22 00:53:04 2013 +0100

    drm/i915: Revert hdmi HDP pin checks


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.