Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
drm/i915/lvds: Remove 0xa0 DDC probe for LVDS
This is a revert of 428d2e8.

This is broken in the same manner as for VGA: trying to write to an
invalid address on the (currently 7-bit) i2c bus.

One notable failure appears to be for MacBooks. The scary part was that
it gave the appearance of working (i.e. reporting the absence of the
panel) on various all-in-one machines with ghost LVDS panels and not
failing for laptops.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Acked-by: Dave Airlie <airlied@linux.ie>
Signed-off-by: Keith Packard <keithp@keithp.com>
  • Loading branch information
ickle authored and keith-packard committed Apr 5, 2011
1 parent 0de009c commit a6737ad
Showing 1 changed file with 0 additions and 24 deletions.
24 changes: 0 additions & 24 deletions drivers/gpu/drm/i915/intel_lvds.c
Expand Up @@ -829,25 +829,6 @@ static bool lvds_is_present_in_vbt(struct drm_device *dev,
return false;
}

static bool intel_lvds_ddc_probe(struct drm_device *dev, u8 pin)
{
struct drm_i915_private *dev_priv = dev->dev_private;
u8 buf = 0;
struct i2c_msg msgs[] = {
{
.addr = 0xA0,
.flags = 0,
.len = 1,
.buf = &buf,
},
};
struct i2c_adapter *i2c = &dev_priv->gmbus[pin].adapter;
/* XXX this only appears to work when using GMBUS */
if (intel_gmbus_is_forced_bit(i2c))
return true;
return i2c_transfer(i2c, msgs, 1) == 1;
}

/**
* intel_lvds_init - setup LVDS connectors on this device
* @dev: drm device
Expand Down Expand Up @@ -888,11 +869,6 @@ bool intel_lvds_init(struct drm_device *dev)
}
}

if (!intel_lvds_ddc_probe(dev, pin)) {
DRM_DEBUG_KMS("LVDS did not respond to DDC probe\n");
return false;
}

intel_lvds = kzalloc(sizeof(struct intel_lvds), GFP_KERNEL);
if (!intel_lvds) {
return false;
Expand Down

0 comments on commit a6737ad

Please sign in to comment.