aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'drivers')
-rw-r--r--drivers/gpu/drm/i915/i915_drv.c13
-rw-r--r--drivers/gpu/drm/i915/i915_drv.h1
2 files changed, 14 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
index a7837e556945..16564755406d 100644
--- a/drivers/gpu/drm/i915/i915_drv.c
+++ b/drivers/gpu/drm/i915/i915_drv.c
@@ -119,6 +119,13 @@ module_param_named(i915_enable_ppgtt, i915_enable_ppgtt, int, 0600);
119MODULE_PARM_DESC(i915_enable_ppgtt, 119MODULE_PARM_DESC(i915_enable_ppgtt,
120 "Enable PPGTT (default: true)"); 120 "Enable PPGTT (default: true)");
121 121
122unsigned int i915_preliminary_hw_support __read_mostly = 0;
123module_param_named(preliminary_hw_support, i915_preliminary_hw_support, int, 0600);
124MODULE_PARM_DESC(preliminary_hw_support,
125 "Enable preliminary hardware support. "
126 "Enable Haswell and ValleyView Support. "
127 "(default: false)");
128
122static struct drm_driver driver; 129static struct drm_driver driver;
123extern int intel_agp_enabled; 130extern int intel_agp_enabled;
124 131
@@ -827,6 +834,12 @@ i915_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
827 struct intel_device_info *intel_info = 834 struct intel_device_info *intel_info =
828 (struct intel_device_info *) ent->driver_data; 835 (struct intel_device_info *) ent->driver_data;
829 836
837 if (intel_info->is_haswell || intel_info->is_valleyview)
838 if(!i915_preliminary_hw_support) {
839 DRM_ERROR("Preliminary hardware support disabled\n");
840 return -ENODEV;
841 }
842
830 /* Only bind to function 0 of the device. Early generations 843 /* Only bind to function 0 of the device. Early generations
831 * used function 1 as a placeholder for multi-head. This causes 844 * used function 1 as a placeholder for multi-head. This causes
832 * us confusion instead, especially on the systems where both 845 * us confusion instead, especially on the systems where both
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index b84f7861e438..f511fa2f4168 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -1217,6 +1217,7 @@ extern int i915_enable_rc6 __read_mostly;
1217extern int i915_enable_fbc __read_mostly; 1217extern int i915_enable_fbc __read_mostly;
1218extern bool i915_enable_hangcheck __read_mostly; 1218extern bool i915_enable_hangcheck __read_mostly;
1219extern int i915_enable_ppgtt __read_mostly; 1219extern int i915_enable_ppgtt __read_mostly;
1220extern unsigned int i915_preliminary_hw_support __read_mostly;
1220 1221
1221extern int i915_suspend(struct drm_device *dev, pm_message_t state); 1222extern int i915_suspend(struct drm_device *dev, pm_message_t state);
1222extern int i915_resume(struct drm_device *dev); 1223extern int i915_resume(struct drm_device *dev);