diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/gpu/drm/i915/i915_drv.c | 13 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/i915_drv.h | 1 |
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); | |||
119 | MODULE_PARM_DESC(i915_enable_ppgtt, | 119 | MODULE_PARM_DESC(i915_enable_ppgtt, |
120 | "Enable PPGTT (default: true)"); | 120 | "Enable PPGTT (default: true)"); |
121 | 121 | ||
122 | unsigned int i915_preliminary_hw_support __read_mostly = 0; | ||
123 | module_param_named(preliminary_hw_support, i915_preliminary_hw_support, int, 0600); | ||
124 | MODULE_PARM_DESC(preliminary_hw_support, | ||
125 | "Enable preliminary hardware support. " | ||
126 | "Enable Haswell and ValleyView Support. " | ||
127 | "(default: false)"); | ||
128 | |||
122 | static struct drm_driver driver; | 129 | static struct drm_driver driver; |
123 | extern int intel_agp_enabled; | 130 | extern 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; | |||
1217 | extern int i915_enable_fbc __read_mostly; | 1217 | extern int i915_enable_fbc __read_mostly; |
1218 | extern bool i915_enable_hangcheck __read_mostly; | 1218 | extern bool i915_enable_hangcheck __read_mostly; |
1219 | extern int i915_enable_ppgtt __read_mostly; | 1219 | extern int i915_enable_ppgtt __read_mostly; |
1220 | extern unsigned int i915_preliminary_hw_support __read_mostly; | ||
1220 | 1221 | ||
1221 | extern int i915_suspend(struct drm_device *dev, pm_message_t state); | 1222 | extern int i915_suspend(struct drm_device *dev, pm_message_t state); |
1222 | extern int i915_resume(struct drm_device *dev); | 1223 | extern int i915_resume(struct drm_device *dev); |