aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/i915')
-rw-r--r--drivers/gpu/drm/i915/i915_drv.c3
-rw-r--r--drivers/gpu/drm/i915/i915_drv.h1
-rw-r--r--drivers/gpu/drm/i915/intel_panel.c5
3 files changed, 9 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
index 64fb21e4bd2d..bdf4ceb1049d 100644
--- a/drivers/gpu/drm/i915/i915_drv.c
+++ b/drivers/gpu/drm/i915/i915_drv.c
@@ -43,6 +43,9 @@ module_param_named(modeset, i915_modeset, int, 0400);
43unsigned int i915_fbpercrtc = 0; 43unsigned int i915_fbpercrtc = 0;
44module_param_named(fbpercrtc, i915_fbpercrtc, int, 0400); 44module_param_named(fbpercrtc, i915_fbpercrtc, int, 0400);
45 45
46int i915_panel_ignore_lid = 0;
47module_param_named(panel_ignore_lid, i915_panel_ignore_lid, int, 0600);
48
46unsigned int i915_powersave = 1; 49unsigned int i915_powersave = 1;
47module_param_named(powersave, i915_powersave, int, 0600); 50module_param_named(powersave, i915_powersave, int, 0600);
48 51
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 0c91262d259b..bd24861bcd95 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -958,6 +958,7 @@ enum intel_chip_family {
958extern struct drm_ioctl_desc i915_ioctls[]; 958extern struct drm_ioctl_desc i915_ioctls[];
959extern int i915_max_ioctl; 959extern int i915_max_ioctl;
960extern unsigned int i915_fbpercrtc; 960extern unsigned int i915_fbpercrtc;
961extern int i915_panel_ignore_lid;
961extern unsigned int i915_powersave; 962extern unsigned int i915_powersave;
962extern unsigned int i915_lvds_downclock; 963extern unsigned int i915_lvds_downclock;
963extern unsigned int i915_panel_use_ssc; 964extern unsigned int i915_panel_use_ssc;
diff --git a/drivers/gpu/drm/i915/intel_panel.c b/drivers/gpu/drm/i915/intel_panel.c
index 286995a9a84a..784660a3667b 100644
--- a/drivers/gpu/drm/i915/intel_panel.c
+++ b/drivers/gpu/drm/i915/intel_panel.c
@@ -287,6 +287,11 @@ intel_panel_detect(struct drm_device *dev)
287{ 287{
288 struct drm_i915_private *dev_priv = dev->dev_private; 288 struct drm_i915_private *dev_priv = dev->dev_private;
289 289
290 if (i915_panel_ignore_lid)
291 return i915_panel_ignore_lid > 0 ?
292 connector_status_connected :
293 connector_status_disconnected;
294
290 /* Assume that the BIOS does not lie through the OpRegion... */ 295 /* Assume that the BIOS does not lie through the OpRegion... */
291 if (dev_priv->opregion.lid_state) 296 if (dev_priv->opregion.lid_state)
292 return ioread32(dev_priv->opregion.lid_state) & 0x1 ? 297 return ioread32(dev_priv->opregion.lid_state) & 0x1 ?