summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjsg <jsg@openbsd.org>2014-01-23 03:43:04 +0000
committerjsg <jsg@openbsd.org>2014-01-23 03:43:04 +0000
commitd1661f907e81b8105540d11e78e6b6b7cd7592d3 (patch)
tree49cc217f53e03e3c939577458a73061d2930ece6
parentdrm/i915: rename sdvox_reg to hdmi_reg on HDMI context (diff)
downloadwireguard-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.c27
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);
+ }
}