<html>
<head>
<base href="https://bugs.freedesktop.org/" />
</head>
<body>
<p>
<div>
<b><a class="bz_bug_link
bz_status_ASSIGNED "
title="ASSIGNED --- - [snb] Driver not emitting event when unplugging enabled HDMI output"
href="https://bugs.freedesktop.org/show_bug.cgi?id=58405#c19">Comment # 19</a>
on <a class="bz_bug_link
bz_status_ASSIGNED "
title="ASSIGNED --- - [snb] Driver not emitting event when unplugging enabled HDMI output"
href="https://bugs.freedesktop.org/show_bug.cgi?id=58405">bug 58405</a>
from <span class="vcard"><a class="email" href="mailto:afiestas@kde.org" title="Alex Fiestas <afiestas@kde.org>"> <span class="fn">Alex Fiestas</span></a>
</span></b>
<pre>I have been doing some digging to try to figure out this bug. I have found
something that perhaps will help you to find where the error is.
In i915_hpd_irq_setup when the encoder_list is iterated none of the encoders
has HPD_SDVO_B which apparently is where my HDMI port is hooked.
If I add:
hotplug_en |= SDVOB_HOTPLUG_INT_EN;
Then at least I can see some reaction from the drm driver in dmesg:
[drm:i965_irq_handler], hotplug event received, stat 0x00008040
Then, If in: i965_irq_handler I force hotplug_trigger
if (hotplug_trigger) {
I get this dmesg:
[drm:i965_irq_handler], not triggered
[drm:i915_hotplug_work_func], running encoder hotplug functions
[drm:intel_sdvo_debug_write], SDVOB: W: 0D 01 00
(SDVO_CMD_SET_ACTIVE_HOT_PLUG)
[drm:intel_crt_detect], CRT not detected via hotplug
[drm:gmbus_xfer], GMBUS [i915 gmbus vga] NAK for addr: 0050 r(1)
[drm:drm_do_probe_ddc_edid], drm: skipping non-existent adapter i915 gmbus vga
[drm:intel_crt_get_edid], CRT GMBUS EDID read failed, retry using GPIO
bit-banging
[drm:intel_gmbus_force_bit], enabling bit-banging on i915 gmbus vga. force bit
now 1
[drm:drm_do_probe_ddc_edid], drm: skipping non-existent adapter i915 gmbus vga
[drm:intel_gmbus_force_bit], disabling bit-banging on i915 gmbus vga. force bit
now 0
[drm:intel_crt_detect_ddc], CRT not detected via DDC:0x50 [no valid EDID found]
[drm:drm_helper_hpd_irq_event], [CONNECTOR:11:VGA-1] status updated from
disconnected to disconnected.
Then in intel_setup_outputs I'm getting in:
if (I915_READ(GEN3_SDVOB) & SDVO_DETECTED) {
DRM_DEBUG_KMS("probing SDVOB\n");
found = intel_sdvo_init(dev, GEN3_SDVOB, true);
found = false;
if (!found && SUPPORTS_INTEGRATED_HDMI(dev)) {
DRM_DEBUG_KMS("probing HDMI on SDVOB\n");
intel_hdmi_init(dev, GEN4_HDMIB, PORT_B);
}
}
If I force found to false, I'm getting an extra encoder with port HPD_PORT_B,
but still it is not working.
Any pointers?
Thanks.</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the QA Contact for the bug.</li>
<li>You are the assignee for the bug.</li>
</ul>
</body>
</html>