aboutsummaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/i915/intel_lvds.c
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2011-02-12 10:29:38 +0000
committerChris Wilson <chris@chris-wilson.co.uk>2011-02-16 09:41:07 +0000
commitfe16d949b45036d9f80e20e07bde1ddacc930b10 (patch)
tree16c647e87ed85b48a33f28fdbac1fd0e08a1e4ac /drivers/gpu/drm/i915/intel_lvds.c
parent47a05eca72991039e788b25232061f9c9df9ec23 (diff)
drm/i915: Move the lvds OpRegion lid detection code to panel and reuse for eDP
Share the lid detection code for the all panels for consistent behaviour and a single place to add the eventual quirks for crap hardware. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'drivers/gpu/drm/i915/intel_lvds.c')
-rw-r--r--drivers/gpu/drm/i915/intel_lvds.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/drivers/gpu/drm/i915/intel_lvds.c b/drivers/gpu/drm/i915/intel_lvds.c
index cd089607eb8..8f909cda62d 100644
--- a/drivers/gpu/drm/i915/intel_lvds.c
+++ b/drivers/gpu/drm/i915/intel_lvds.c
@@ -473,14 +473,11 @@ static enum drm_connector_status
intel_lvds_detect(struct drm_connector *connector, bool force)
{
struct drm_device *dev = connector->dev;
- struct drm_i915_private *dev_priv = dev->dev_private;
enum drm_connector_status status = connector_status_connected;
- /* Assume that the BIOS does not lie through the OpRegion... */
- if (dev_priv->opregion.lid_state)
- return ioread32(dev_priv->opregion.lid_state) & 0x1 ?
- connector_status_connected :
- connector_status_disconnected;
+ status = intel_panel_detect(dev);
+ if (status != connector_status_unknown)
+ return status;
/* ACPI lid methods were generally unreliable in this generation, so
* don't even bother.