diff options
author | 2014-01-23 03:43:04 +0000 | |
---|---|---|
committer | 2014-01-23 03:43:04 +0000 | |
commit | d1661f907e81b8105540d11e78e6b6b7cd7592d3 (patch) | |
tree | 49cc217f53e03e3c939577458a73061d2930ece6 | |
parent | drm/i915: rename sdvox_reg to hdmi_reg on HDMI context (diff) | |
download | wireguard-openbsd-d1661f907e81b8105540d11e78e6b6b7cd7592d3.tar.xz wireguard-openbsd-d1661f907e81b8105540d11e78e6b6b7cd7592d3.zip |
drm/i915: don't setup hdmi for port D edp in ddi_init
From Daniel Vetter
a00bee7ac4b8a078b5a1b01199a2928fcd0fd7d2 in ubuntu 3.8
21a8e6a4853b2ed39fa4c5188a710f2cf1b92026 in mainline linux
-rw-r--r-- | sys/dev/pci/drm/i915/intel_ddi.c | 27 |
1 files changed, 12 insertions, 15 deletions
diff --git a/sys/dev/pci/drm/i915/intel_ddi.c b/sys/dev/pci/drm/i915/intel_ddi.c index 13a201f7045..881e00a1929 100644 --- a/sys/dev/pci/drm/i915/intel_ddi.c +++ b/sys/dev/pci/drm/i915/intel_ddi.c @@ -1,4 +1,4 @@ -/* $OpenBSD: intel_ddi.c,v 1.7 2014/01/23 03:23:47 jsg Exp $ */ +/* $OpenBSD: intel_ddi.c,v 1.8 2014/01/23 03:43:04 jsg Exp $ */ /* * Copyright © 2012 Intel Corporation * @@ -1490,16 +1490,6 @@ void intel_ddi_init(struct drm_device *dev, enum port port) return; } - if (port != PORT_A) { - hdmi_connector = kzalloc(sizeof(struct intel_connector), - GFP_KERNEL); - if (!hdmi_connector) { - kfree(dp_connector); - kfree(intel_dig_port); - return; - } - } - intel_encoder = &intel_dig_port->base; encoder = &intel_encoder->base; @@ -1516,8 +1506,6 @@ void intel_ddi_init(struct drm_device *dev, enum port port) intel_dig_port->port = port; intel_dig_port->port_reversal = I915_READ(DDI_BUF_CTL(port)) & DDI_BUF_PORT_REVERSAL; - if (hdmi_connector) - intel_dig_port->hdmi.hdmi_reg = DDI_BUF_CTL(port); intel_dig_port->dp.output_reg = DDI_BUF_CTL(port); intel_encoder->type = INTEL_OUTPUT_UNKNOWN; @@ -1525,7 +1513,16 @@ void intel_ddi_init(struct drm_device *dev, enum port port) intel_encoder->cloneable = false; intel_encoder->hot_plug = intel_ddi_hot_plug; - if (hdmi_connector) - intel_hdmi_init_connector(intel_dig_port, hdmi_connector); intel_dp_init_connector(intel_dig_port, dp_connector); + + if (intel_encoder->type != INTEL_OUTPUT_EDP) { + hdmi_connector = kzalloc(sizeof(struct intel_connector), + GFP_KERNEL); + if (!hdmi_connector) { + return; + } + + intel_dig_port->hdmi.hdmi_reg = DDI_BUF_CTL(port); + intel_hdmi_init_connector(intel_dig_port, hdmi_connector); + } } |