Try to validate the panel's connection by writing to address 0xA0.
Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=18072
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
        return false;
 }
 
+static bool intel_lvds_ddc_probe(struct drm_device *dev)
+{
+       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[GMBUS_PORT_PANEL].adapter;
+       return i2c_transfer(i2c, msgs, 1) == 1;
+}
+
 /**
  * intel_lvds_init - setup LVDS connectors on this device
  * @dev: drm device
                gpio = PCH_GPIOC;
        }
 
+       if (!intel_lvds_ddc_probe(dev)) {
+               DRM_DEBUG_KMS("LVDS did not respond to DDC probe\n");
+               return;
+       }
+
        intel_lvds = kzalloc(sizeof(struct intel_lvds), GFP_KERNEL);
        if (!intel_lvds) {
                return;