Skip to content

Commit 2540058

Browse files
tiwaijnikula
authored andcommitted
drm/i915: Don't override output type for DDI HDMI
Currently a DDI port may register the DP hotplug handler even though it's used with HDMI, and the DP HPD handler overrides the encoder type forcibly to DP. This caused the inconsistency on a machine connected with a HDMI monitor; upon a hotplug event, the DDI port is suddenly switched to be handled as a DP although the same monitor is kept connected, and this leads to the erroneous blank output. This patch papers over the bug by excluding the previous HDMI encoder type from this override. This should be fixed more fundamentally, e.g. by moving the encoder type reset from the HPD or by having individual encoder objects for HDMI and DP. But since the bug has been present for a long time (3.17), it's better to have a quick-n-dirty fix for now, and keep working on a cleaner fix. Bugzilla: http://bugzilla.opensuse.org/show_bug.cgi?id=955190 Fixes: 0e32b39 ('drm/i915: add DP 1.2 MST support (v0.7)') Cc: <stable@vger.kernel.org> # v3.17+ Signed-off-by: Takashi Iwai <tiwai@suse.de> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> Link: http://patchwork.freedesktop.org/patch/msgid/1447931396-19147-1-git-send-email-tiwai@suse.de Signed-off-by: Jani Nikula <jani.nikula@intel.com>
1 parent 13b13df commit 2540058

1 file changed

Lines changed: 2 additions & 1 deletion

File tree

drivers/gpu/drm/i915/intel_dp.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5153,7 +5153,8 @@ intel_dp_hpd_pulse(struct intel_digital_port *intel_dig_port, bool long_hpd)
51535153
enum intel_display_power_domain power_domain;
51545154
enum irqreturn ret = IRQ_NONE;
51555155

5156-
if (intel_dig_port->base.type != INTEL_OUTPUT_EDP)
5156+
if (intel_dig_port->base.type != INTEL_OUTPUT_EDP &&
5157+
intel_dig_port->base.type != INTEL_OUTPUT_HDMI)
51575158
intel_dig_port->base.type = INTEL_OUTPUT_DISPLAYPORT;
51585159

51595160
if (long_hpd && intel_dig_port->base.type == INTEL_OUTPUT_EDP) {

0 commit comments

Comments
 (0)