Op 24-04-2019 om 02:50 schreef Dave Airlie:
> This patch broke userspace. I'm reverting it.
>
> I know userspace was broken, but since it's a userspace lots of people
> are using we shouldn't break it.
>
> We either need to add this as a config option that we can let people
> pick the breakage, or detect broken userspace somehow and magic around
> it.
>
> But breaking it isn't happening here. I reported this weeks ago, and I
> got regression dodging behaviour.

What about this?

I still think this has to be fixed in userspace, but meh..
-----8<-------
diff --git a/drivers/gpu/drm/drm_ioctl.c b/drivers/gpu/drm/drm_ioctl.c
index 687943df58e1..a89161eb9a15 100644
--- a/drivers/gpu/drm/drm_ioctl.c
+++ b/drivers/gpu/drm/drm_ioctl.c
@@ -97,6 +97,15 @@
  * broken.
  */
 
+/*
+ * X.org ships with a modesetting driver that uses atomic in the wrong way,
+ * causing issues with initialisation, rotation and life in general
+ */
+static bool drm_disable_atomic;
+module_param_named(disable_atomic, drm_disable_atomic, bool, 0644);
+MODULE_PARM_DESC(disable_atomic, "Disable support for atomic to work around 
broken userspace.");
+
+
 /*
  * Get the bus id.
  *
@@ -325,7 +334,7 @@ drm_setclientcap(struct drm_device *dev, void *data, struct 
drm_file *file_priv)
                file_priv->universal_planes = req->value;
                break;
        case DRM_CLIENT_CAP_ATOMIC:
-               if (!drm_core_check_feature(dev, DRIVER_ATOMIC))
+               if (!drm_core_check_feature(dev, DRIVER_ATOMIC) || 
drm_disable_atomic)
                        return -EOPNOTSUPP;
                if (req->value > 1)
                        return -EINVAL;

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

Reply via email to