All of lore.kernel.org
 help / color / mirror / Atom feed
From: Rob Clark <robdclark@gmail.com>
To: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: "DRI Development" <dri-devel@lists.freedesktop.org>,
	"David Airlie" <airlied@linux.ie>,
	"Intel Graphics Development" <intel-gfx@lists.freedesktop.org>,
	stable <stable@vger.kernel.org>, "Adam Jackson" <ajax@redhat.com>,
	"Alex Deucher" <alexdeucher@gmail.com>,
	"Daniel Vetter" <daniel.vetter@intel.com>,
	"Michel Dänzer" <michel@daenzer.net>
Subject: Re: [Intel-gfx] [PATCH 1/3] drm/atomic: Take the atomic toys away from X
Date: Thu, 5 Sep 2019 10:20:53 -0700	[thread overview]
Message-ID: <CAF6AEGvMa3JcoQeQzznjGbSdERnDPp39AT5rsF8QV1Ns9cBjaw@mail.gmail.com> (raw)
In-Reply-To: <20190903190642.32588-1-daniel.vetter@ffwll.ch>

On Tue, Sep 3, 2019 at 12:07 PM Daniel Vetter <daniel.vetter@ffwll.ch> wrote:
>
> The -modesetting ddx has a totally broken idea of how atomic works:
> - doesn't disable old connectors, assuming they get auto-disable like
>   with the legacy setcrtc
> - assumes ASYNC_FLIP is wired through for the atomic ioctl
> - not a single call to TEST_ONLY
>
> Iow the implementation is a 1:1 translation of legacy ioctls to
> atomic, which is a) broken b) pointless.
>
> We already have bugs in both i915 and amdgpu-DC where this prevents us
> from enabling neat features.
>
> If anyone ever cares about atomic in X we can easily add a new atomic
> level (req->value == 2) for X to get back the shiny toys.
>
> Since these broken versions of -modesetting have been shipping,
> there's really no other way to get out of this bind.
>
> References: https://gitlab.freedesktop.org/xorg/xserver/issues/629
> References: https://gitlab.freedesktop.org/xorg/xserver/merge_requests/180
> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> Cc: Michel Dänzer <michel@daenzer.net>
> Cc: Alex Deucher <alexdeucher@gmail.com>
> Cc: Adam Jackson <ajax@redhat.com>
> Cc: Sean Paul <sean@poorly.run>
> Cc: David Airlie <airlied@linux.ie>
> Cc: stable@vger.kernel.org
> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
> ---
>  drivers/gpu/drm/drm_ioctl.c | 3 +++
>  1 file changed, 3 insertions(+)
>
> diff --git a/drivers/gpu/drm/drm_ioctl.c b/drivers/gpu/drm/drm_ioctl.c
> index 2c120c58f72d..1cb7b4c3c87c 100644
> --- a/drivers/gpu/drm/drm_ioctl.c
> +++ b/drivers/gpu/drm/drm_ioctl.c
> @@ -334,6 +334,9 @@ 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:
> +               /* The modesetting DDX has a totally broken idea of atomic. */
> +               if (strstr(current->comm, "X"))
> +                       return -EOPNOTSUPP;

Seems like we can be a bit more targeted than "anything that has 'X'
in the name".. at a minimum restrict things to "starts with 'X'" seems
saner.  But I guess we could probably somehow look at the processes
memory map and look for modesetting_drv.so.

BR,
-R

>                 if (!drm_core_check_feature(dev, DRIVER_ATOMIC))
>                         return -EOPNOTSUPP;
>                 if (req->value > 1)
> --
> 2.23.0
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx

  parent reply	other threads:[~2019-09-05 17:21 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-09-03 19:06 [PATCH 1/3] drm/atomic: Take the atomic toys away from X Daniel Vetter
2019-09-03 19:06 ` [PATCH 2/3] drm/atomic: Reject FLIP_ASYNC unconditionally Daniel Vetter
2019-09-03 19:06 ` [PATCH 3/3] drm/atomic: Rename crtc_state->pageflip_flags to async_flip Daniel Vetter
2019-09-04 12:57   ` Kazlauskas, Nicholas
2019-09-05 12:33     ` Mario Kleiner
2019-09-05 13:58       ` Daniel Vetter
2019-09-03 19:58 ` ✗ Fi.CI.CHECKPATCH: warning for series starting with [1/3] drm/atomic: Take the atomic toys away from X Patchwork
2019-09-03 20:51 ` ✓ Fi.CI.BAT: success " Patchwork
2019-09-04  0:10 ` ✓ Fi.CI.IGT: " Patchwork
2019-09-05 14:19 ` [PATCH 1/3] " Maarten Lankhorst
2019-09-05 14:25   ` Daniel Vetter
2019-09-05 17:20 ` Rob Clark [this message]
2019-09-05 18:18 ` [PATCH] " Daniel Vetter
2019-09-05 20:43   ` Sasha Levin
2019-09-05 20:43   ` Sasha Levin
2019-09-05 18:53 ` Daniel Vetter
2020-05-08  9:06   ` Yves-Alexis Perez
2020-05-08  9:06     ` [Intel-gfx] " Yves-Alexis Perez
2020-05-08  9:06     ` Yves-Alexis Perez
2020-05-08  9:54     ` Greg KH
2020-05-08  9:54       ` [Intel-gfx] " Greg KH
2020-05-08  9:54       ` Greg KH
2020-05-08 11:59       ` Yves-Alexis Perez
2020-05-08 11:59         ` [Intel-gfx] " Yves-Alexis Perez
2020-05-08 11:59         ` Yves-Alexis Perez
2020-05-08 12:24         ` Greg KH
2020-05-08 12:24           ` [Intel-gfx] " Greg KH
2020-05-08 12:24           ` Greg KH
2019-09-05 18:58 ` ✗ Fi.CI.CHECKPATCH: warning for series starting with drm/atomic: Take the atomic toys away from X (rev2) Patchwork
2019-09-05 19:21 ` ✓ Fi.CI.BAT: success " Patchwork
2019-09-05 19:53 ` ✗ Fi.CI.CHECKPATCH: warning for series starting with drm/atomic: Take the atomic toys away from X (rev3) Patchwork
2019-09-05 20:17 ` ✓ Fi.CI.BAT: success " Patchwork
2019-09-06  0:52 ` ✓ Fi.CI.IGT: " Patchwork

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAF6AEGvMa3JcoQeQzznjGbSdERnDPp39AT5rsF8QV1Ns9cBjaw@mail.gmail.com \
    --to=robdclark@gmail.com \
    --cc=airlied@linux.ie \
    --cc=ajax@redhat.com \
    --cc=alexdeucher@gmail.com \
    --cc=daniel.vetter@ffwll.ch \
    --cc=daniel.vetter@intel.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=michel@daenzer.net \
    --cc=stable@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.