[Intel-gfx] A wrong DDI encoder override from HDMI to DP at hotplug

Takashi Iwai tiwai at suse.de
Wed Nov 18 07:23:06 PST 2015


Hi,

currently a DDI port may register both DP and HDMI and it shares the
same encoder.  The bug we've got a report is about this encoder type:
namely, a machine using DDI port D for HDMI is screwed up because the
encoder is switched to DP suddently.  The details are found in:
  http://bugzilla.opensuse.org/show_bug.cgi?id=955190

The problem happens in intel_dp_hpd_pulse().  Since the machine
declares both DP and HDMI, the driver registers this callback.  And at
a hotplug event, the function changes the encoder type like:

	if (intel_dig_port->base.type != INTEL_OUTPUT_EDP)
		intel_dig_port->base.type = INTEL_OUTPUT_DISPLAYPORT;

After this point, the encoder is handled as DP although the same HDMI
monitor is connected.

Changing this to exclude INTEL_OUTPUT_HDMI makes the thing working in
the bug report above, but I'm not sure what's the right fix.

Any suggestions?


thanks,

Takashi


More information about the Intel-gfx mailing list