Partially revert "drm/i915: Use full atomic modeset."
authorMaarten Lankhorst <maarten.lankhorst@linux.intel.com>
Wed, 26 Aug 2015 07:29:56 +0000 (09:29 +0200)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Wed, 26 Aug 2015 13:14:52 +0000 (15:14 +0200)
This partially reverts commit 74c090b1bdc57b1c9f1361908cca5a3d8a80fb08.

The DRIVER_ATOMIC cap cannot yet be exported because i915 lacks async
support.

Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/i915_drv.c
drivers/gpu/drm/i915/i915_drv.h
drivers/gpu/drm/i915/i915_params.c

index 6e03e115ea1f440137bd8506d377e9e888048e6f..ce3bd0c713b9add0df8d560746b5bc3bdd1e5d2f 100644 (file)
@@ -1726,7 +1726,7 @@ static int __init i915_init(void)
         * to the atomic ioctl and the atomic properties.  Only plane operations on
         * a single CRTC will actually work.
         */
-       if (driver.driver_features & DRIVER_MODESET)
+       if (i915.nuclear_pageflip)
                driver.driver_features |= DRIVER_ATOMIC;
 
        return drm_pci_init(&driver, &i915_pci_driver);
index 705f208b49a04b9417191d8d7ac158bd450420fc..7cd15556fc09ba54eb18228b0103784035c0d6ef 100644 (file)
@@ -2640,6 +2640,7 @@ struct i915_params {
        int use_mmio_flip;
        int mmio_debug;
        bool verbose_state_checks;
+       bool nuclear_pageflip;
        int edp_vswing;
 };
 extern struct i915_params i915 __read_mostly;
index 5ae4b0aba56412e3c7d8560c5fe1d1484ae00675..05053e2e9ff0fb48eefcd007274c06959ab925d0 100644 (file)
@@ -51,6 +51,7 @@ struct i915_params i915 __read_mostly = {
        .use_mmio_flip = 0,
        .mmio_debug = 0,
        .verbose_state_checks = 1,
+       .nuclear_pageflip = 0,
        .edp_vswing = 0,
        .enable_guc_submission = false,
        .guc_log_level = -1,
@@ -177,6 +178,10 @@ module_param_named(verbose_state_checks, i915.verbose_state_checks, bool, 0600);
 MODULE_PARM_DESC(verbose_state_checks,
        "Enable verbose logs (ie. WARN_ON()) in case of unexpected hw state conditions.");
 
+module_param_named_unsafe(nuclear_pageflip, i915.nuclear_pageflip, bool, 0600);
+MODULE_PARM_DESC(nuclear_pageflip,
+                "Force atomic modeset functionality; asynchronous mode is not yet supported. (default: false).");
+
 /* WA to get away with the default setting in VBT for early platforms.Will be removed */
 module_param_named_unsafe(edp_vswing, i915.edp_vswing, int, 0400);
 MODULE_PARM_DESC(edp_vswing,