drm/i915: Provide a command line option to disable display
authorDamien Lespiau <damien.lespiau@intel.com>
Mon, 10 Feb 2014 17:20:55 +0000 (17:20 +0000)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Wed, 12 Feb 2014 17:53:01 +0000 (18:53 +0100)
If we can't actually determine at run-time we have a fused-off display,
provide at least an option to disable it.

v2: Move the i915.disable_display test in a separate check
    (Daniel Vetter)

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/i915_dma.c
drivers/gpu/drm/i915/i915_drv.h
drivers/gpu/drm/i915/i915_params.c

index 033c943b6baea7e35f7888614917aeb06e850a4f..1d65dbd15c39ea42d525e5b5eb7d60f6e557e543 100644 (file)
@@ -1483,9 +1483,12 @@ static void intel_device_info_runtime_init(struct drm_device *dev)
        if (IS_VALLEYVIEW(dev))
                info->num_sprites = 2;
 
-       if (info->num_pipes > 0 &&
-           (INTEL_INFO(dev)->gen == 7 || INTEL_INFO(dev)->gen == 8) &&
-           !IS_VALLEYVIEW(dev)) {
+       if (i915.disable_display) {
+               DRM_INFO("Display disabled (module parameter)\n");
+               info->num_pipes = 0;
+       } else if (info->num_pipes > 0 &&
+                  (INTEL_INFO(dev)->gen == 7 || INTEL_INFO(dev)->gen == 8) &&
+                  !IS_VALLEYVIEW(dev)) {
                u32 fuse_strap = I915_READ(FUSE_STRAP);
                u32 sfuse_strap = I915_READ(SFUSE_STRAP);
 
index 0580d979f88dd38037b04eedd047fd18dd702d22..96601149cab8dccdd05b78a42e1a435914225ccb 100644 (file)
@@ -1958,6 +1958,7 @@ struct i915_params {
        bool fastboot;
        bool prefault_disable;
        bool reset;
+       bool disable_display;
 };
 extern struct i915_params i915 __read_mostly;
 
index c743057b65117a4b9fae192b8ebcd7c018e3cb5a..3b482585c5ae9a43a9c80eef18fe465743b6de33 100644 (file)
@@ -47,6 +47,7 @@ struct i915_params i915 __read_mostly = {
        .prefault_disable = 0,
        .reset = true,
        .invert_brightness = 0,
+       .disable_display = 0,
 };
 
 module_param_named(modeset, i915.modeset, int, 0400);
@@ -153,3 +154,6 @@ MODULE_PARM_DESC(invert_brightness,
        "report PCI device ID, subsystem vendor and subsystem device ID "
        "to dri-devel@lists.freedesktop.org, if your machine needs it. "
        "It will then be included in an upcoming module version.");
+
+module_param_named(disable_display, i915.disable_display, bool, 0600);
+MODULE_PARM_DESC(disable_display, "Disable display (default: false)");