It can be handy at times to forbid i915 from loading at startup to
modprobe it later.

In particular, when trying to debug a problem that occurs at startup,
it's usually easier to boot into a working machine and modprobe the
driver at a more convenient time.

Signed-off-by: Damien Lespiau <damien.lesp...@intel.com>
---
 drivers/gpu/drm/i915/i915_drv.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
index 61fb9fc..d80e47e 100644
--- a/drivers/gpu/drm/i915/i915_drv.c
+++ b/drivers/gpu/drm/i915/i915_drv.c
@@ -38,6 +38,12 @@
 #include <linux/module.h>
 #include <drm/drm_crtc_helper.h>
 
+static int i915_fail __read_mostly = 0;
+module_param_named(fail, i915_fail, int, 0400);
+MODULE_PARM_DESC(fail,
+               "Allow a user to skip loading the i915 driver, "
+               "0=load i915 as usual [default], 1=don't load");
+
 static int i915_modeset __read_mostly = -1;
 module_param_named(modeset, i915_modeset, int, 0400);
 MODULE_PARM_DESC(modeset,
@@ -823,6 +829,11 @@ static int 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 (i915_fail) {
+               DRM_INFO("i915 disabled by module parameter\n");
+               return -ENODEV;
+       }
+
        if (IS_PRELIMINARY_HW(intel_info) && !i915_preliminary_hw_support) {
                DRM_INFO("This hardware requires preliminary hardware 
support.\n"
                         "See CONFIG_DRM_I915_PRELIMINARY_HW_SUPPORT, and/or 
modparam preliminary_hw_support\n");
-- 
1.8.3.1

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to