From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: Re: [PATCH 1/3] drm/atomic: Take the atomic toys away from X Date: Thu, 5 Sep 2019 16:19:34 +0200 Message-ID: References: <20190903190642.32588-1-daniel.vetter@ffwll.ch> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Return-path: In-Reply-To: <20190903190642.32588-1-daniel.vetter@ffwll.ch> Content-Language: en-US Sender: stable-owner@vger.kernel.org To: Daniel Vetter , DRI Development Cc: Intel Graphics Development , =?UTF-8?Q?Michel_D=c3=a4nzer?= , Alex Deucher , Adam Jackson , Sean Paul , David Airlie , stable@vger.kernel.org, Daniel Vetter List-Id: dri-devel@lists.freedesktop.org Op 03-09-2019 om 21:06 schreef Daniel Vetter: > 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 > Cc: Michel Dänzer > Cc: Alex Deucher > Cc: Adam Jackson > Cc: Sean Paul > Cc: David Airlie > Cc: stable@vger.kernel.org > Signed-off-by: Daniel Vetter > --- > 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; > if (!drm_core_check_feature(dev, DRIVER_ATOMIC)) > return -EOPNOTSUPP; > if (req->value > 1) Good riddance! Missing one more: commit abbc0697d5fbf53f74ce0bcbe936670199764cfa Author: Dave Airlie Date:   Wed Apr 24 16:33:29 2019 +1000     drm/fb: revert the i915 Actually configure untiled displays from master         This code moved in here in master, so revert it the same way.         This is the same revert as 9fa246256e09 ("Revert "drm/i915/fbdev:     Actually configure untiled displays"") in drm-fixes.         Signed-off-by: Dave Airlie Can we unrevert that now? With that fixed, on the whole series: Reviewed-by: Maarten Lankhorst