aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2011-04-05 16:39:49 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2011-04-05 16:39:49 -0400
commit623dda65b6f71e6474f3f156dbed2acf6ff43584 (patch)
treeddeb5ad21697327a2bdff83fbe97ce7c12e56819 /drivers
parent899631c7916b231ba6509c90dbc33221e9194029 (diff)
parenta6737ad15b4acf88bbf7753e929faf215adeaa3a (diff)
Merge branch 'drm-intel-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/keithp/linux-2.6
* 'drm-intel-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/keithp/linux-2.6: drm/i915/lvds: Remove 0xa0 DDC probe for LVDS drm/i915/crt: Remove 0xa0 probe for VGA
Diffstat (limited to 'drivers')
-rw-r--r--drivers/gpu/drm/i915/intel_crt.c20
-rw-r--r--drivers/gpu/drm/i915/intel_lvds.c24
2 files changed, 0 insertions, 44 deletions
diff --git a/drivers/gpu/drm/i915/intel_crt.c b/drivers/gpu/drm/i915/intel_crt.c
index 8342259f3160..d03fc05b39c0 100644
--- a/drivers/gpu/drm/i915/intel_crt.c
+++ b/drivers/gpu/drm/i915/intel_crt.c
@@ -269,21 +269,6 @@ static bool intel_crt_detect_hotplug(struct drm_connector *connector)
269 return ret; 269 return ret;
270} 270}
271 271
272static bool intel_crt_ddc_probe(struct drm_i915_private *dev_priv, int ddc_bus)
273{
274 u8 buf;
275 struct i2c_msg msgs[] = {
276 {
277 .addr = 0xA0,
278 .flags = 0,
279 .len = 1,
280 .buf = &buf,
281 },
282 };
283 /* DDC monitor detect: Does it ACK a write to 0xA0? */
284 return i2c_transfer(&dev_priv->gmbus[ddc_bus].adapter, msgs, 1) == 1;
285}
286
287static bool intel_crt_detect_ddc(struct drm_connector *connector) 272static bool intel_crt_detect_ddc(struct drm_connector *connector)
288{ 273{
289 struct intel_crt *crt = intel_attached_crt(connector); 274 struct intel_crt *crt = intel_attached_crt(connector);
@@ -293,11 +278,6 @@ static bool intel_crt_detect_ddc(struct drm_connector *connector)
293 if (crt->base.type != INTEL_OUTPUT_ANALOG) 278 if (crt->base.type != INTEL_OUTPUT_ANALOG)
294 return false; 279 return false;
295 280
296 if (intel_crt_ddc_probe(dev_priv, dev_priv->crt_ddc_pin)) {
297 DRM_DEBUG_KMS("CRT detected via DDC:0xa0\n");
298 return true;
299 }
300
301 if (intel_ddc_probe(&crt->base, dev_priv->crt_ddc_pin)) { 281 if (intel_ddc_probe(&crt->base, dev_priv->crt_ddc_pin)) {
302 struct edid *edid; 282 struct edid *edid;
303 bool is_digital = false; 283 bool is_digital = false;
diff --git a/drivers/gpu/drm/i915/intel_lvds.c b/drivers/gpu/drm/i915/intel_lvds.c
index 86cd30bcb619..a562bd2648c7 100644
--- a/drivers/gpu/drm/i915/intel_lvds.c
+++ b/drivers/gpu/drm/i915/intel_lvds.c
@@ -829,25 +829,6 @@ static bool lvds_is_present_in_vbt(struct drm_device *dev,
829 return false; 829 return false;
830} 830}
831 831
832static bool intel_lvds_ddc_probe(struct drm_device *dev, u8 pin)
833{
834 struct drm_i915_private *dev_priv = dev->dev_private;
835 u8 buf = 0;
836 struct i2c_msg msgs[] = {
837 {
838 .addr = 0xA0,
839 .flags = 0,
840 .len = 1,
841 .buf = &buf,
842 },
843 };
844 struct i2c_adapter *i2c = &dev_priv->gmbus[pin].adapter;
845 /* XXX this only appears to work when using GMBUS */
846 if (intel_gmbus_is_forced_bit(i2c))
847 return true;
848 return i2c_transfer(i2c, msgs, 1) == 1;
849}
850
851/** 832/**
852 * intel_lvds_init - setup LVDS connectors on this device 833 * intel_lvds_init - setup LVDS connectors on this device
853 * @dev: drm device 834 * @dev: drm device
@@ -888,11 +869,6 @@ bool intel_lvds_init(struct drm_device *dev)
888 } 869 }
889 } 870 }
890 871
891 if (!intel_lvds_ddc_probe(dev, pin)) {
892 DRM_DEBUG_KMS("LVDS did not respond to DDC probe\n");
893 return false;
894 }
895
896 intel_lvds = kzalloc(sizeof(struct intel_lvds), GFP_KERNEL); 872 intel_lvds = kzalloc(sizeof(struct intel_lvds), GFP_KERNEL);
897 if (!intel_lvds) { 873 if (!intel_lvds) {
898 return false; 874 return false;