|
@@ -119,6 +119,13 @@ module_param_named(i915_enable_ppgtt, i915_enable_ppgtt, int, 0600);
|
|
|
MODULE_PARM_DESC(i915_enable_ppgtt,
|
|
|
"Enable PPGTT (default: true)");
|
|
|
|
|
|
+unsigned int i915_preliminary_hw_support __read_mostly = 0;
|
|
|
+module_param_named(preliminary_hw_support, i915_preliminary_hw_support, int, 0600);
|
|
|
+MODULE_PARM_DESC(preliminary_hw_support,
|
|
|
+ "Enable preliminary hardware support. "
|
|
|
+ "Enable Haswell and ValleyView Support. "
|
|
|
+ "(default: false)");
|
|
|
+
|
|
|
static struct drm_driver driver;
|
|
|
extern int intel_agp_enabled;
|
|
|
|
|
@@ -827,6 +834,12 @@ i915_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
|
|
|
struct intel_device_info *intel_info =
|
|
|
(struct intel_device_info *) ent->driver_data;
|
|
|
|
|
|
+ if (intel_info->is_haswell || intel_info->is_valleyview)
|
|
|
+ if(!i915_preliminary_hw_support) {
|
|
|
+ DRM_ERROR("Preliminary hardware support disabled\n");
|
|
|
+ return -ENODEV;
|
|
|
+ }
|
|
|
+
|
|
|
/* Only bind to function 0 of the device. Early generations
|
|
|
* used function 1 as a placeholder for multi-head. This causes
|
|
|
* us confusion instead, especially on the systems where both
|