Skip to content

Commit a6737ad

Browse files
icklekeith-packard
authored andcommitted
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>
1 parent 0de009c commit a6737ad

File tree

1 file changed

+0
-24
lines changed

1 file changed

+0
-24
lines changed

drivers/gpu/drm/i915/intel_lvds.c

Lines changed: 0 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -829,25 +829,6 @@ static bool lvds_is_present_in_vbt(struct drm_device *dev,
829829
return false;
830830
}
831831

832-
static 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-
851832
/**
852833
* intel_lvds_init - setup LVDS connectors on this device
853834
* @dev: drm device
@@ -888,11 +869,6 @@ bool intel_lvds_init(struct drm_device *dev)
888869
}
889870
}
890871

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-
896872
intel_lvds = kzalloc(sizeof(struct intel_lvds), GFP_KERNEL);
897873
if (!intel_lvds) {
898874
return false;

0 commit comments

Comments
 (0)