All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] drm/ioctl: Ditch DRM_UNLOCKED except for the legacy vblank ioctl
@ 2019-05-29  9:30 Daniel Vetter
  2019-05-29 14:51 ` ✗ Fi.CI.CHECKPATCH: warning for " Patchwork
                   ` (9 more replies)
  0 siblings, 10 replies; 15+ messages in thread
From: Daniel Vetter @ 2019-05-29  9:30 UTC (permalink / raw)
  To: Intel Graphics Development
  Cc: Daniel Vetter, Emil Velikov, DRI Development, Daniel Vetter

This completes Emil's series of removing DRM_UNLOCKED from modern
drivers. It's entirely cargo-culted since we ignore it on
non-DRIVER_LEGACY drivers since:

commit ea487835e8876abf7ad909636e308c801a2bcda6
Author: Daniel Vetter <daniel.vetter@ffwll.ch>
Date:   Mon Sep 28 21:42:40 2015 +0200

    drm: Enforce unlocked ioctl operation for kms driver ioctls

Now justifying why we can do this for legacy drives too (and hence
close the source of all the bogus copypasting) is a bit more involved.
DRM_UNLOCKED was introduced in:

commit ed8b67040965e4fe695db333d5914e18ea5f146f
Author: Arnd Bergmann <arnd@arndb.de>
Date:   Wed Dec 16 22:17:09 2009 +0000

    drm: convert drm_ioctl to unlocked_ioctl

As a immediate hack to keep i810 happy, which would have deadlocked
without this trickery. The old BKL is automatically dropped in
schedule(), and hence the i810 vs. mmap_sem deadlock didn't actually
cause a real deadlock. But with a mutex it would. The solution was to
annotate these as DRM_UNLOCKED and mark i810 unsafe on SMP machines.

This conversion caused a regression, because unlike the BKL a mutex
isn't dropped over schedule (that thing again), which caused a vblank
wait in one thread to block the entire desktop and all its apps. Back
then we did vblank scheduling by blocking in the client, awesome isn't
it. This was fixed quickly in (ok not so quickly, took 2 years):

commit 8f4ff2b06afcd6f151868474a432c603057eaf56
Author: Ilija Hadzic <ihadzic@research.bell-labs.com>
Date:   Mon Oct 31 17:46:18 2011 -0400

    drm: do not sleep on vblank while holding a mutex

All the other DRM_UNLOCKED annotations for all the core ioctls was
work to reach finer-grained locking for modern drivers. This took
years, and culminated in:

commit fdd5b877e9ebc2029e1373b4a3cd057329a9ab7a
Author: Daniel Vetter <daniel.vetter@ffwll.ch>
Date:   Sat Dec 10 22:52:54 2016 +0100

    drm: Enforce BKL-less ioctls for modern drivers

DRM_UNLOCKED was never required by any legacy drivers, except for the
vblank_wait IOCTL. Therefore we will not regress these old drivers by
going back to where we've been in 2011. For all modern drivers nothing
will change.

To make this perfectly clear, also add a comment to DRM_UNLOCKED.

Cc: Emil Velikov <emil.l.velikov@gmail.com>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
---
 drivers/gpu/drm/drm_ioctl.c | 139 ++++++++++++++++++------------------
 include/drm/drm_ioctl.h     |   3 +
 2 files changed, 72 insertions(+), 70 deletions(-)

diff --git a/drivers/gpu/drm/drm_ioctl.c b/drivers/gpu/drm/drm_ioctl.c
index a1eb422a5711..365d7a5629f6 100644
--- a/drivers/gpu/drm/drm_ioctl.c
+++ b/drivers/gpu/drm/drm_ioctl.c
@@ -570,24 +570,23 @@ EXPORT_SYMBOL(drm_ioctl_permit);
 
 /* Ioctl table */
 static const struct drm_ioctl_desc drm_ioctls[] = {
-	DRM_IOCTL_DEF(DRM_IOCTL_VERSION, drm_version,
-		      DRM_UNLOCKED|DRM_RENDER_ALLOW),
-	DRM_IOCTL_DEF(DRM_IOCTL_GET_UNIQUE, drm_getunique, DRM_UNLOCKED),
-	DRM_IOCTL_DEF(DRM_IOCTL_GET_MAGIC, drm_getmagic, DRM_UNLOCKED),
+	DRM_IOCTL_DEF(DRM_IOCTL_VERSION, drm_version, DRM_RENDER_ALLOW),
+	DRM_IOCTL_DEF(DRM_IOCTL_GET_UNIQUE, drm_getunique, 0),
+	DRM_IOCTL_DEF(DRM_IOCTL_GET_MAGIC, drm_getmagic, 0),
 	DRM_IOCTL_DEF(DRM_IOCTL_IRQ_BUSID, drm_irq_by_busid, DRM_MASTER|DRM_ROOT_ONLY),
 
-	DRM_LEGACY_IOCTL_DEF(DRM_IOCTL_GET_MAP, drm_legacy_getmap_ioctl, DRM_UNLOCKED),
+	DRM_LEGACY_IOCTL_DEF(DRM_IOCTL_GET_MAP, drm_legacy_getmap_ioctl, 0),
 
-	DRM_IOCTL_DEF(DRM_IOCTL_GET_CLIENT, drm_getclient, DRM_UNLOCKED),
-	DRM_IOCTL_DEF(DRM_IOCTL_GET_STATS, drm_getstats, DRM_UNLOCKED),
-	DRM_IOCTL_DEF(DRM_IOCTL_GET_CAP, drm_getcap, DRM_UNLOCKED|DRM_RENDER_ALLOW),
-	DRM_IOCTL_DEF(DRM_IOCTL_SET_CLIENT_CAP, drm_setclientcap, DRM_UNLOCKED),
-	DRM_IOCTL_DEF(DRM_IOCTL_SET_VERSION, drm_setversion, DRM_UNLOCKED | DRM_MASTER),
+	DRM_IOCTL_DEF(DRM_IOCTL_GET_CLIENT, drm_getclient, 0),
+	DRM_IOCTL_DEF(DRM_IOCTL_GET_STATS, drm_getstats, 0),
+	DRM_IOCTL_DEF(DRM_IOCTL_GET_CAP, drm_getcap, DRM_RENDER_ALLOW),
+	DRM_IOCTL_DEF(DRM_IOCTL_SET_CLIENT_CAP, drm_setclientcap, 0),
+	DRM_IOCTL_DEF(DRM_IOCTL_SET_VERSION, drm_setversion, DRM_MASTER),
 
 	DRM_IOCTL_DEF(DRM_IOCTL_SET_UNIQUE, drm_invalid_op, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY),
 	DRM_IOCTL_DEF(DRM_IOCTL_BLOCK, drm_noop, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY),
 	DRM_IOCTL_DEF(DRM_IOCTL_UNBLOCK, drm_noop, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY),
-	DRM_IOCTL_DEF(DRM_IOCTL_AUTH_MAGIC, drm_authmagic, DRM_UNLOCKED|DRM_MASTER),
+	DRM_IOCTL_DEF(DRM_IOCTL_AUTH_MAGIC, drm_authmagic, DRM_MASTER),
 
 	DRM_LEGACY_IOCTL_DEF(DRM_IOCTL_ADD_MAP, drm_legacy_addmap_ioctl, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY),
 	DRM_LEGACY_IOCTL_DEF(DRM_IOCTL_RM_MAP, drm_legacy_rmmap_ioctl, DRM_AUTH),
@@ -595,8 +594,8 @@ static const struct drm_ioctl_desc drm_ioctls[] = {
 	DRM_LEGACY_IOCTL_DEF(DRM_IOCTL_SET_SAREA_CTX, drm_legacy_setsareactx, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY),
 	DRM_LEGACY_IOCTL_DEF(DRM_IOCTL_GET_SAREA_CTX, drm_legacy_getsareactx, DRM_AUTH),
 
-	DRM_IOCTL_DEF(DRM_IOCTL_SET_MASTER, drm_setmaster_ioctl, DRM_UNLOCKED|DRM_ROOT_ONLY),
-	DRM_IOCTL_DEF(DRM_IOCTL_DROP_MASTER, drm_dropmaster_ioctl, DRM_UNLOCKED|DRM_ROOT_ONLY),
+	DRM_IOCTL_DEF(DRM_IOCTL_SET_MASTER, drm_setmaster_ioctl, DRM_ROOT_ONLY),
+	DRM_IOCTL_DEF(DRM_IOCTL_DROP_MASTER, drm_dropmaster_ioctl, DRM_ROOT_ONLY),
 
 	DRM_LEGACY_IOCTL_DEF(DRM_IOCTL_ADD_CTX, drm_legacy_addctx, DRM_AUTH|DRM_ROOT_ONLY),
 	DRM_LEGACY_IOCTL_DEF(DRM_IOCTL_RM_CTX, drm_legacy_rmctx, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY),
@@ -642,74 +641,74 @@ static const struct drm_ioctl_desc drm_ioctls[] = {
 
 	DRM_IOCTL_DEF(DRM_IOCTL_UPDATE_DRAW, drm_noop, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY),
 
-	DRM_IOCTL_DEF(DRM_IOCTL_GEM_CLOSE, drm_gem_close_ioctl, DRM_UNLOCKED|DRM_RENDER_ALLOW),
-	DRM_IOCTL_DEF(DRM_IOCTL_GEM_FLINK, drm_gem_flink_ioctl, DRM_AUTH|DRM_UNLOCKED),
-	DRM_IOCTL_DEF(DRM_IOCTL_GEM_OPEN, drm_gem_open_ioctl, DRM_AUTH|DRM_UNLOCKED),
-
-	DRM_IOCTL_DEF(DRM_IOCTL_MODE_GETRESOURCES, drm_mode_getresources, DRM_UNLOCKED),
-
-	DRM_IOCTL_DEF(DRM_IOCTL_PRIME_HANDLE_TO_FD, drm_prime_handle_to_fd_ioctl, DRM_AUTH|DRM_UNLOCKED|DRM_RENDER_ALLOW),
-	DRM_IOCTL_DEF(DRM_IOCTL_PRIME_FD_TO_HANDLE, drm_prime_fd_to_handle_ioctl, DRM_AUTH|DRM_UNLOCKED|DRM_RENDER_ALLOW),
-
-	DRM_IOCTL_DEF(DRM_IOCTL_MODE_GETPLANERESOURCES, drm_mode_getplane_res, DRM_UNLOCKED),
-	DRM_IOCTL_DEF(DRM_IOCTL_MODE_GETCRTC, drm_mode_getcrtc, DRM_UNLOCKED),
-	DRM_IOCTL_DEF(DRM_IOCTL_MODE_SETCRTC, drm_mode_setcrtc, DRM_MASTER|DRM_UNLOCKED),
-	DRM_IOCTL_DEF(DRM_IOCTL_MODE_GETPLANE, drm_mode_getplane, DRM_UNLOCKED),
-	DRM_IOCTL_DEF(DRM_IOCTL_MODE_SETPLANE, drm_mode_setplane, DRM_MASTER|DRM_UNLOCKED),
-	DRM_IOCTL_DEF(DRM_IOCTL_MODE_CURSOR, drm_mode_cursor_ioctl, DRM_MASTER|DRM_UNLOCKED),
-	DRM_IOCTL_DEF(DRM_IOCTL_MODE_GETGAMMA, drm_mode_gamma_get_ioctl, DRM_UNLOCKED),
-	DRM_IOCTL_DEF(DRM_IOCTL_MODE_SETGAMMA, drm_mode_gamma_set_ioctl, DRM_MASTER|DRM_UNLOCKED),
-	DRM_IOCTL_DEF(DRM_IOCTL_MODE_GETENCODER, drm_mode_getencoder, DRM_UNLOCKED),
-	DRM_IOCTL_DEF(DRM_IOCTL_MODE_GETCONNECTOR, drm_mode_getconnector, DRM_UNLOCKED),
-	DRM_IOCTL_DEF(DRM_IOCTL_MODE_ATTACHMODE, drm_noop, DRM_MASTER|DRM_UNLOCKED),
-	DRM_IOCTL_DEF(DRM_IOCTL_MODE_DETACHMODE, drm_noop, DRM_MASTER|DRM_UNLOCKED),
-	DRM_IOCTL_DEF(DRM_IOCTL_MODE_GETPROPERTY, drm_mode_getproperty_ioctl, DRM_UNLOCKED),
-	DRM_IOCTL_DEF(DRM_IOCTL_MODE_SETPROPERTY, drm_connector_property_set_ioctl, DRM_MASTER|DRM_UNLOCKED),
-	DRM_IOCTL_DEF(DRM_IOCTL_MODE_GETPROPBLOB, drm_mode_getblob_ioctl, DRM_UNLOCKED),
-	DRM_IOCTL_DEF(DRM_IOCTL_MODE_GETFB, drm_mode_getfb, DRM_UNLOCKED),
-	DRM_IOCTL_DEF(DRM_IOCTL_MODE_ADDFB, drm_mode_addfb_ioctl, DRM_UNLOCKED),
-	DRM_IOCTL_DEF(DRM_IOCTL_MODE_ADDFB2, drm_mode_addfb2_ioctl, DRM_UNLOCKED),
-	DRM_IOCTL_DEF(DRM_IOCTL_MODE_RMFB, drm_mode_rmfb_ioctl, DRM_UNLOCKED),
-	DRM_IOCTL_DEF(DRM_IOCTL_MODE_PAGE_FLIP, drm_mode_page_flip_ioctl, DRM_MASTER|DRM_UNLOCKED),
-	DRM_IOCTL_DEF(DRM_IOCTL_MODE_DIRTYFB, drm_mode_dirtyfb_ioctl, DRM_MASTER|DRM_UNLOCKED),
-	DRM_IOCTL_DEF(DRM_IOCTL_MODE_CREATE_DUMB, drm_mode_create_dumb_ioctl, DRM_UNLOCKED),
-	DRM_IOCTL_DEF(DRM_IOCTL_MODE_MAP_DUMB, drm_mode_mmap_dumb_ioctl, DRM_UNLOCKED),
-	DRM_IOCTL_DEF(DRM_IOCTL_MODE_DESTROY_DUMB, drm_mode_destroy_dumb_ioctl, DRM_UNLOCKED),
-	DRM_IOCTL_DEF(DRM_IOCTL_MODE_OBJ_GETPROPERTIES, drm_mode_obj_get_properties_ioctl, DRM_UNLOCKED),
-	DRM_IOCTL_DEF(DRM_IOCTL_MODE_OBJ_SETPROPERTY, drm_mode_obj_set_property_ioctl, DRM_MASTER|DRM_UNLOCKED),
-	DRM_IOCTL_DEF(DRM_IOCTL_MODE_CURSOR2, drm_mode_cursor2_ioctl, DRM_MASTER|DRM_UNLOCKED),
-	DRM_IOCTL_DEF(DRM_IOCTL_MODE_ATOMIC, drm_mode_atomic_ioctl, DRM_MASTER|DRM_UNLOCKED),
-	DRM_IOCTL_DEF(DRM_IOCTL_MODE_CREATEPROPBLOB, drm_mode_createblob_ioctl, DRM_UNLOCKED),
-	DRM_IOCTL_DEF(DRM_IOCTL_MODE_DESTROYPROPBLOB, drm_mode_destroyblob_ioctl, DRM_UNLOCKED),
+	DRM_IOCTL_DEF(DRM_IOCTL_GEM_CLOSE, drm_gem_close_ioctl, DRM_RENDER_ALLOW),
+	DRM_IOCTL_DEF(DRM_IOCTL_GEM_FLINK, drm_gem_flink_ioctl, DRM_AUTH),
+	DRM_IOCTL_DEF(DRM_IOCTL_GEM_OPEN, drm_gem_open_ioctl, DRM_AUTH),
+
+	DRM_IOCTL_DEF(DRM_IOCTL_MODE_GETRESOURCES, drm_mode_getresources, 0),
+
+	DRM_IOCTL_DEF(DRM_IOCTL_PRIME_HANDLE_TO_FD, drm_prime_handle_to_fd_ioctl, DRM_AUTH|DRM_RENDER_ALLOW),
+	DRM_IOCTL_DEF(DRM_IOCTL_PRIME_FD_TO_HANDLE, drm_prime_fd_to_handle_ioctl, DRM_AUTH|DRM_RENDER_ALLOW),
+
+	DRM_IOCTL_DEF(DRM_IOCTL_MODE_GETPLANERESOURCES, drm_mode_getplane_res, 0),
+	DRM_IOCTL_DEF(DRM_IOCTL_MODE_GETCRTC, drm_mode_getcrtc, 0),
+	DRM_IOCTL_DEF(DRM_IOCTL_MODE_SETCRTC, drm_mode_setcrtc, DRM_MASTER),
+	DRM_IOCTL_DEF(DRM_IOCTL_MODE_GETPLANE, drm_mode_getplane, 0),
+	DRM_IOCTL_DEF(DRM_IOCTL_MODE_SETPLANE, drm_mode_setplane, DRM_MASTER),
+	DRM_IOCTL_DEF(DRM_IOCTL_MODE_CURSOR, drm_mode_cursor_ioctl, DRM_MASTER),
+	DRM_IOCTL_DEF(DRM_IOCTL_MODE_GETGAMMA, drm_mode_gamma_get_ioctl, 0),
+	DRM_IOCTL_DEF(DRM_IOCTL_MODE_SETGAMMA, drm_mode_gamma_set_ioctl, DRM_MASTER),
+	DRM_IOCTL_DEF(DRM_IOCTL_MODE_GETENCODER, drm_mode_getencoder, 0),
+	DRM_IOCTL_DEF(DRM_IOCTL_MODE_GETCONNECTOR, drm_mode_getconnector, 0),
+	DRM_IOCTL_DEF(DRM_IOCTL_MODE_ATTACHMODE, drm_noop, DRM_MASTER),
+	DRM_IOCTL_DEF(DRM_IOCTL_MODE_DETACHMODE, drm_noop, DRM_MASTER),
+	DRM_IOCTL_DEF(DRM_IOCTL_MODE_GETPROPERTY, drm_mode_getproperty_ioctl, 0),
+	DRM_IOCTL_DEF(DRM_IOCTL_MODE_SETPROPERTY, drm_connector_property_set_ioctl, DRM_MASTER),
+	DRM_IOCTL_DEF(DRM_IOCTL_MODE_GETPROPBLOB, drm_mode_getblob_ioctl, 0),
+	DRM_IOCTL_DEF(DRM_IOCTL_MODE_GETFB, drm_mode_getfb, 0),
+	DRM_IOCTL_DEF(DRM_IOCTL_MODE_ADDFB, drm_mode_addfb_ioctl, 0),
+	DRM_IOCTL_DEF(DRM_IOCTL_MODE_ADDFB2, drm_mode_addfb2_ioctl, 0),
+	DRM_IOCTL_DEF(DRM_IOCTL_MODE_RMFB, drm_mode_rmfb_ioctl, 0),
+	DRM_IOCTL_DEF(DRM_IOCTL_MODE_PAGE_FLIP, drm_mode_page_flip_ioctl, DRM_MASTER),
+	DRM_IOCTL_DEF(DRM_IOCTL_MODE_DIRTYFB, drm_mode_dirtyfb_ioctl, DRM_MASTER),
+	DRM_IOCTL_DEF(DRM_IOCTL_MODE_CREATE_DUMB, drm_mode_create_dumb_ioctl, 0),
+	DRM_IOCTL_DEF(DRM_IOCTL_MODE_MAP_DUMB, drm_mode_mmap_dumb_ioctl, 0),
+	DRM_IOCTL_DEF(DRM_IOCTL_MODE_DESTROY_DUMB, drm_mode_destroy_dumb_ioctl, 0),
+	DRM_IOCTL_DEF(DRM_IOCTL_MODE_OBJ_GETPROPERTIES, drm_mode_obj_get_properties_ioctl, 0),
+	DRM_IOCTL_DEF(DRM_IOCTL_MODE_OBJ_SETPROPERTY, drm_mode_obj_set_property_ioctl, DRM_MASTER),
+	DRM_IOCTL_DEF(DRM_IOCTL_MODE_CURSOR2, drm_mode_cursor2_ioctl, DRM_MASTER),
+	DRM_IOCTL_DEF(DRM_IOCTL_MODE_ATOMIC, drm_mode_atomic_ioctl, DRM_MASTER),
+	DRM_IOCTL_DEF(DRM_IOCTL_MODE_CREATEPROPBLOB, drm_mode_createblob_ioctl, 0),
+	DRM_IOCTL_DEF(DRM_IOCTL_MODE_DESTROYPROPBLOB, drm_mode_destroyblob_ioctl, 0),
 
 	DRM_IOCTL_DEF(DRM_IOCTL_SYNCOBJ_CREATE, drm_syncobj_create_ioctl,
-		      DRM_UNLOCKED|DRM_RENDER_ALLOW),
+		      DRM_RENDER_ALLOW),
 	DRM_IOCTL_DEF(DRM_IOCTL_SYNCOBJ_DESTROY, drm_syncobj_destroy_ioctl,
-		      DRM_UNLOCKED|DRM_RENDER_ALLOW),
+		      DRM_RENDER_ALLOW),
 	DRM_IOCTL_DEF(DRM_IOCTL_SYNCOBJ_HANDLE_TO_FD, drm_syncobj_handle_to_fd_ioctl,
-		      DRM_UNLOCKED|DRM_RENDER_ALLOW),
+		      DRM_RENDER_ALLOW),
 	DRM_IOCTL_DEF(DRM_IOCTL_SYNCOBJ_FD_TO_HANDLE, drm_syncobj_fd_to_handle_ioctl,
-		      DRM_UNLOCKED|DRM_RENDER_ALLOW),
+		      DRM_RENDER_ALLOW),
 	DRM_IOCTL_DEF(DRM_IOCTL_SYNCOBJ_TRANSFER, drm_syncobj_transfer_ioctl,
-		      DRM_UNLOCKED|DRM_RENDER_ALLOW),
+		      DRM_RENDER_ALLOW),
 	DRM_IOCTL_DEF(DRM_IOCTL_SYNCOBJ_WAIT, drm_syncobj_wait_ioctl,
-		      DRM_UNLOCKED|DRM_RENDER_ALLOW),
+		      DRM_RENDER_ALLOW),
 	DRM_IOCTL_DEF(DRM_IOCTL_SYNCOBJ_TIMELINE_WAIT, drm_syncobj_timeline_wait_ioctl,
-		      DRM_UNLOCKED|DRM_RENDER_ALLOW),
+		      DRM_RENDER_ALLOW),
 	DRM_IOCTL_DEF(DRM_IOCTL_SYNCOBJ_RESET, drm_syncobj_reset_ioctl,
-		      DRM_UNLOCKED|DRM_RENDER_ALLOW),
+		      DRM_RENDER_ALLOW),
 	DRM_IOCTL_DEF(DRM_IOCTL_SYNCOBJ_SIGNAL, drm_syncobj_signal_ioctl,
-		      DRM_UNLOCKED|DRM_RENDER_ALLOW),
+		      DRM_RENDER_ALLOW),
 	DRM_IOCTL_DEF(DRM_IOCTL_SYNCOBJ_TIMELINE_SIGNAL, drm_syncobj_timeline_signal_ioctl,
-		      DRM_UNLOCKED|DRM_RENDER_ALLOW),
+		      DRM_RENDER_ALLOW),
 	DRM_IOCTL_DEF(DRM_IOCTL_SYNCOBJ_QUERY, drm_syncobj_query_ioctl,
-		      DRM_UNLOCKED|DRM_RENDER_ALLOW),
-	DRM_IOCTL_DEF(DRM_IOCTL_CRTC_GET_SEQUENCE, drm_crtc_get_sequence_ioctl, DRM_UNLOCKED),
-	DRM_IOCTL_DEF(DRM_IOCTL_CRTC_QUEUE_SEQUENCE, drm_crtc_queue_sequence_ioctl, DRM_UNLOCKED),
-	DRM_IOCTL_DEF(DRM_IOCTL_MODE_CREATE_LEASE, drm_mode_create_lease_ioctl, DRM_MASTER|DRM_UNLOCKED),
-	DRM_IOCTL_DEF(DRM_IOCTL_MODE_LIST_LESSEES, drm_mode_list_lessees_ioctl, DRM_MASTER|DRM_UNLOCKED),
-	DRM_IOCTL_DEF(DRM_IOCTL_MODE_GET_LEASE, drm_mode_get_lease_ioctl, DRM_MASTER|DRM_UNLOCKED),
-	DRM_IOCTL_DEF(DRM_IOCTL_MODE_REVOKE_LEASE, drm_mode_revoke_lease_ioctl, DRM_MASTER|DRM_UNLOCKED),
+		      DRM_RENDER_ALLOW),
+	DRM_IOCTL_DEF(DRM_IOCTL_CRTC_GET_SEQUENCE, drm_crtc_get_sequence_ioctl, 0),
+	DRM_IOCTL_DEF(DRM_IOCTL_CRTC_QUEUE_SEQUENCE, drm_crtc_queue_sequence_ioctl, 0),
+	DRM_IOCTL_DEF(DRM_IOCTL_MODE_CREATE_LEASE, drm_mode_create_lease_ioctl, DRM_MASTER),
+	DRM_IOCTL_DEF(DRM_IOCTL_MODE_LIST_LESSEES, drm_mode_list_lessees_ioctl, DRM_MASTER),
+	DRM_IOCTL_DEF(DRM_IOCTL_MODE_GET_LEASE, drm_mode_get_lease_ioctl, DRM_MASTER),
+	DRM_IOCTL_DEF(DRM_IOCTL_MODE_REVOKE_LEASE, drm_mode_revoke_lease_ioctl, DRM_MASTER),
 };
 
 #define DRM_CORE_IOCTL_COUNT	ARRAY_SIZE( drm_ioctls )
@@ -777,7 +776,7 @@ long drm_ioctl_kernel(struct file *file, drm_ioctl_t *func, void *kdata,
 		return retcode;
 
 	/* Enforce sane locking for modern driver ioctls. */
-	if (!drm_core_check_feature(dev, DRIVER_LEGACY) ||
+	if (likely(!drm_core_check_feature(dev, DRIVER_LEGACY)) ||
 	    (flags & DRM_UNLOCKED))
 		retcode = func(dev, kdata, file_priv);
 	else {
diff --git a/include/drm/drm_ioctl.h b/include/drm/drm_ioctl.h
index fafb6f592c4b..10100a4bbe2a 100644
--- a/include/drm/drm_ioctl.h
+++ b/include/drm/drm_ioctl.h
@@ -114,6 +114,9 @@ enum drm_ioctl_flags {
 	 * Whether &drm_ioctl_desc.func should be called with the DRM BKL held
 	 * or not. Enforced as the default for all modern drivers, hence there
 	 * should never be a need to set this flag.
+	 *
+	 * Do not use anywhere else than for the VBLANK_WAIT IOCTL, which is the
+	 * only legacy IOCTL which needs this.
 	 */
 	DRM_UNLOCKED		= BIT(4),
 	/**
-- 
2.20.1

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* ✗ Fi.CI.CHECKPATCH: warning for drm/ioctl: Ditch DRM_UNLOCKED except for the legacy vblank ioctl
  2019-05-29  9:30 [PATCH] drm/ioctl: Ditch DRM_UNLOCKED except for the legacy vblank ioctl Daniel Vetter
@ 2019-05-29 14:51 ` Patchwork
  2019-05-29 15:30 ` ✓ Fi.CI.BAT: success " Patchwork
                   ` (8 subsequent siblings)
  9 siblings, 0 replies; 15+ messages in thread
From: Patchwork @ 2019-05-29 14:51 UTC (permalink / raw)
  To: Daniel Vetter; +Cc: intel-gfx

== Series Details ==

Series: drm/ioctl: Ditch DRM_UNLOCKED except for the legacy vblank ioctl
URL   : https://patchwork.freedesktop.org/series/61299/
State : warning

== Summary ==

$ dim checkpatch origin/drm-tip
82c3759de56a drm/ioctl: Ditch DRM_UNLOCKED except for the legacy vblank ioctl
-:11: ERROR:GIT_COMMIT_ID: Please use git commit description style 'commit <12+ chars of sha1> ("<title line>")' - ie: 'commit ea487835e887 ("drm: Enforce unlocked ioctl operation for kms driver ioctls")'
#11: 
commit ea487835e8876abf7ad909636e308c801a2bcda6

-:21: ERROR:GIT_COMMIT_ID: Please use git commit description style 'commit <12+ chars of sha1> ("<title line>")' - ie: 'commit ed8b67040965 ("drm: convert drm_ioctl to unlocked_ioctl")'
#21: 
commit ed8b67040965e4fe695db333d5914e18ea5f146f

-:39: ERROR:GIT_COMMIT_ID: Please use git commit description style 'commit <12+ chars of sha1> ("<title line>")' - ie: 'commit 8f4ff2b06afc ("drm: do not sleep on vblank while holding a mutex")'
#39: 
commit 8f4ff2b06afcd6f151868474a432c603057eaf56

-:49: ERROR:GIT_COMMIT_ID: Please use git commit description style 'commit <12+ chars of sha1> ("<title line>")' - ie: 'commit fdd5b877e9eb ("drm: Enforce BKL-less ioctls for modern drivers")'
#49: 
commit fdd5b877e9ebc2029e1373b4a3cd057329a9ab7a

-:164: WARNING:LONG_LINE: line over 100 characters
#164: FILE: drivers/gpu/drm/drm_ioctl.c:650:
+	DRM_IOCTL_DEF(DRM_IOCTL_PRIME_HANDLE_TO_FD, drm_prime_handle_to_fd_ioctl, DRM_AUTH|DRM_RENDER_ALLOW),

-:164: CHECK:SPACING: spaces preferred around that '|' (ctx:VxV)
#164: FILE: drivers/gpu/drm/drm_ioctl.c:650:
+	DRM_IOCTL_DEF(DRM_IOCTL_PRIME_HANDLE_TO_FD, drm_prime_handle_to_fd_ioctl, DRM_AUTH|DRM_RENDER_ALLOW),
 	                                                                                  ^

-:165: WARNING:LONG_LINE: line over 100 characters
#165: FILE: drivers/gpu/drm/drm_ioctl.c:651:
+	DRM_IOCTL_DEF(DRM_IOCTL_PRIME_FD_TO_HANDLE, drm_prime_fd_to_handle_ioctl, DRM_AUTH|DRM_RENDER_ALLOW),

-:165: CHECK:SPACING: spaces preferred around that '|' (ctx:VxV)
#165: FILE: drivers/gpu/drm/drm_ioctl.c:651:
+	DRM_IOCTL_DEF(DRM_IOCTL_PRIME_FD_TO_HANDLE, drm_prime_fd_to_handle_ioctl, DRM_AUTH|DRM_RENDER_ALLOW),
 	                                                                                  ^

-:268: WARNING:NO_AUTHOR_SIGN_OFF: Missing Signed-off-by: line by nominal patch author 'Daniel Vetter <daniel.vetter@ffwll.ch>'

total: 4 errors, 3 warnings, 2 checks, 191 lines checked

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

^ permalink raw reply	[flat|nested] 15+ messages in thread

* ✓ Fi.CI.BAT: success for drm/ioctl: Ditch DRM_UNLOCKED except for the legacy vblank ioctl
  2019-05-29  9:30 [PATCH] drm/ioctl: Ditch DRM_UNLOCKED except for the legacy vblank ioctl Daniel Vetter
  2019-05-29 14:51 ` ✗ Fi.CI.CHECKPATCH: warning for " Patchwork
@ 2019-05-29 15:30 ` Patchwork
  2019-05-30  2:32 ` ✓ Fi.CI.IGT: " Patchwork
                   ` (7 subsequent siblings)
  9 siblings, 0 replies; 15+ messages in thread
From: Patchwork @ 2019-05-29 15:30 UTC (permalink / raw)
  To: Daniel Vetter; +Cc: intel-gfx

== Series Details ==

Series: drm/ioctl: Ditch DRM_UNLOCKED except for the legacy vblank ioctl
URL   : https://patchwork.freedesktop.org/series/61299/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6163 -> Patchwork_13124
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/

Known issues
------------

  Here are the changes found in Patchwork_13124 that come from known issues:

### IGT changes ###

#### Possible fixes ####

  * igt@gem_exec_suspend@basic-s4-devices:
    - fi-icl-u3:          [DMESG-WARN][1] ([fdo#107724]) -> [PASS][2]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6163/fi-icl-u3/igt@gem_exec_suspend@basic-s4-devices.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/fi-icl-u3/igt@gem_exec_suspend@basic-s4-devices.html

  * igt@i915_selftest@live_contexts:
    - fi-bdw-gvtdvm:      [DMESG-FAIL][3] ([fdo#110235]) -> [PASS][4]
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6163/fi-bdw-gvtdvm/igt@i915_selftest@live_contexts.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/fi-bdw-gvtdvm/igt@i915_selftest@live_contexts.html

  * igt@kms_frontbuffer_tracking@basic:
    - {fi-icl-dsi}:       [FAIL][5] ([fdo#103167]) -> [PASS][6]
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6163/fi-icl-dsi/igt@kms_frontbuffer_tracking@basic.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/fi-icl-dsi/igt@kms_frontbuffer_tracking@basic.html

  * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a:
    - fi-blb-e6850:       [INCOMPLETE][7] ([fdo#107718]) -> [PASS][8]
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6163/fi-blb-e6850/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/fi-blb-e6850/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a.html

  
  {name}: This element is suppressed. This means it is ignored when computing
          the status of the difference (SUCCESS, WARNING, or FAILURE).

  [fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
  [fdo#106107]: https://bugs.freedesktop.org/show_bug.cgi?id=106107
  [fdo#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713
  [fdo#107718]: https://bugs.freedesktop.org/show_bug.cgi?id=107718
  [fdo#107724]: https://bugs.freedesktop.org/show_bug.cgi?id=107724
  [fdo#108840]: https://bugs.freedesktop.org/show_bug.cgi?id=108840
  [fdo#110235]: https://bugs.freedesktop.org/show_bug.cgi?id=110235


Participating hosts (50 -> 45)
------------------------------

  Additional (1): fi-gdg-551 
  Missing    (6): fi-ilk-m540 fi-byt-squawks fi-bsw-cyan fi-ctg-p8600 fi-byt-clapper fi-bdw-samus 


Build changes
-------------

  * Linux: CI_DRM_6163 -> Patchwork_13124

  CI_DRM_6163: 1b005370a18811c7ee3fc2a477a7b1dd74cff11d @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_5024: f414756be2ac57e194919973da7b86644ba61241 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_13124: 82c3759de56a43cba6be7daa85bff67e27d5074b @ git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

82c3759de56a drm/ioctl: Ditch DRM_UNLOCKED except for the legacy vblank ioctl

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 15+ messages in thread

* ✓ Fi.CI.IGT: success for drm/ioctl: Ditch DRM_UNLOCKED except for the legacy vblank ioctl
  2019-05-29  9:30 [PATCH] drm/ioctl: Ditch DRM_UNLOCKED except for the legacy vblank ioctl Daniel Vetter
  2019-05-29 14:51 ` ✗ Fi.CI.CHECKPATCH: warning for " Patchwork
  2019-05-29 15:30 ` ✓ Fi.CI.BAT: success " Patchwork
@ 2019-05-30  2:32 ` Patchwork
  2019-05-31  8:48 ` ✓ Fi.CI.BAT: " Patchwork
                   ` (6 subsequent siblings)
  9 siblings, 0 replies; 15+ messages in thread
From: Patchwork @ 2019-05-30  2:32 UTC (permalink / raw)
  To: Daniel Vetter; +Cc: intel-gfx

== Series Details ==

Series: drm/ioctl: Ditch DRM_UNLOCKED except for the legacy vblank ioctl
URL   : https://patchwork.freedesktop.org/series/61299/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6163_full -> Patchwork_13124_full
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  

Possible new issues
-------------------

  Here are the unknown changes that may have been introduced in Patchwork_13124_full:

### IGT changes ###

#### Suppressed ####

  The following results come from untrusted machines, tests, or statuses.
  They do not affect the overall result.

  * igt@gem_workarounds@basic-read-fd:
    - {shard-iclb}:       NOTRUN -> [FAIL][1] +1 similar issue
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-iclb1/igt@gem_workarounds@basic-read-fd.html

  
Known issues
------------

  Here are the changes found in Patchwork_13124_full that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@gem_ctx_isolation@bcs0-s3:
    - shard-kbl:          [PASS][2] -> [DMESG-WARN][3] ([fdo#108566])
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6163/shard-kbl3/igt@gem_ctx_isolation@bcs0-s3.html
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-kbl6/igt@gem_ctx_isolation@bcs0-s3.html

  * igt@gem_tiled_swapping@non-threaded:
    - shard-snb:          [PASS][4] -> [FAIL][5] ([fdo#108686])
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6163/shard-snb2/igt@gem_tiled_swapping@non-threaded.html
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-snb5/igt@gem_tiled_swapping@non-threaded.html

  * igt@i915_suspend@debugfs-reader:
    - shard-apl:          [PASS][6] -> [DMESG-WARN][7] ([fdo#108566]) +4 similar issues
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6163/shard-apl1/igt@i915_suspend@debugfs-reader.html
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-apl7/igt@i915_suspend@debugfs-reader.html

  * igt@kms_cursor_legacy@cursor-vs-flip-toggle:
    - shard-hsw:          [PASS][8] -> [FAIL][9] ([fdo#103355])
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6163/shard-hsw4/igt@kms_cursor_legacy@cursor-vs-flip-toggle.html
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-hsw1/igt@kms_cursor_legacy@cursor-vs-flip-toggle.html

  * igt@kms_cursor_legacy@pipe-c-torture-move:
    - shard-apl:          [PASS][10] -> [INCOMPLETE][11] ([fdo#103927]) +1 similar issue
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6163/shard-apl6/igt@kms_cursor_legacy@pipe-c-torture-move.html
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-apl4/igt@kms_cursor_legacy@pipe-c-torture-move.html

  * igt@kms_flip@2x-plain-flip-interruptible:
    - shard-hsw:          [PASS][12] -> [SKIP][13] ([fdo#109271]) +23 similar issues
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6163/shard-hsw8/igt@kms_flip@2x-plain-flip-interruptible.html
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-hsw1/igt@kms_flip@2x-plain-flip-interruptible.html

  * igt@kms_sysfs_edid_timing:
    - shard-hsw:          [PASS][14] -> [INCOMPLETE][15] ([fdo#103540])
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6163/shard-hsw2/igt@kms_sysfs_edid_timing.html
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-hsw8/igt@kms_sysfs_edid_timing.html

  
#### Possible fixes ####

  * igt@gem_mmap_gtt@medium-copy-xy:
    - {shard-iclb}:       [INCOMPLETE][16] ([fdo#107713]) -> [PASS][17]
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6163/shard-iclb7/igt@gem_mmap_gtt@medium-copy-xy.html
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-iclb3/igt@gem_mmap_gtt@medium-copy-xy.html

  * igt@gem_workarounds@reset:
    - {shard-iclb}:       [FAIL][18] -> [PASS][19]
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6163/shard-iclb1/igt@gem_workarounds@reset.html
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-iclb6/igt@gem_workarounds@reset.html

  * igt@kms_cursor_crc@pipe-b-cursor-128x128-random:
    - shard-hsw:          [INCOMPLETE][20] ([fdo#103540]) -> [PASS][21] +1 similar issue
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6163/shard-hsw1/igt@kms_cursor_crc@pipe-b-cursor-128x128-random.html
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-hsw2/igt@kms_cursor_crc@pipe-b-cursor-128x128-random.html

  * igt@kms_cursor_crc@pipe-c-cursor-suspend:
    - shard-skl:          [INCOMPLETE][22] ([fdo#110741]) -> [PASS][23] +1 similar issue
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6163/shard-skl3/igt@kms_cursor_crc@pipe-c-cursor-suspend.html
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-skl4/igt@kms_cursor_crc@pipe-c-cursor-suspend.html

  * igt@kms_fbcon_fbt@fbc-suspend:
    - shard-skl:          [INCOMPLETE][24] ([fdo#104108]) -> [PASS][25]
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6163/shard-skl6/igt@kms_fbcon_fbt@fbc-suspend.html
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-skl2/igt@kms_fbcon_fbt@fbc-suspend.html

  * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-shrfb-draw-mmap-wc:
    - shard-hsw:          [SKIP][26] ([fdo#109271]) -> [PASS][27] +23 similar issues
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6163/shard-hsw1/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-shrfb-draw-mmap-wc.html
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-hsw2/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-shrfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbc-suspend:
    - {shard-iclb}:       [FAIL][28] ([fdo#103167]) -> [PASS][29] +2 similar issues
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6163/shard-iclb6/igt@kms_frontbuffer_tracking@fbc-suspend.html
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-iclb4/igt@kms_frontbuffer_tracking@fbc-suspend.html

  * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a:
    - shard-kbl:          [DMESG-WARN][30] ([fdo#108566]) -> [PASS][31]
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6163/shard-kbl6/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a.html
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-kbl2/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a.html

  * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-b:
    - shard-apl:          [DMESG-WARN][32] ([fdo#108566]) -> [PASS][33] +1 similar issue
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6163/shard-apl3/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-b.html
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-apl4/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-b.html

  * igt@kms_psr2_su@page_flip:
    - {shard-iclb}:       [SKIP][34] ([fdo#109642]) -> [PASS][35]
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6163/shard-iclb3/igt@kms_psr2_su@page_flip.html
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-iclb2/igt@kms_psr2_su@page_flip.html

  * igt@kms_psr@psr2_primary_page_flip:
    - {shard-iclb}:       [SKIP][36] ([fdo#109441]) -> [PASS][37] +2 similar issues
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6163/shard-iclb3/igt@kms_psr@psr2_primary_page_flip.html
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-iclb2/igt@kms_psr@psr2_primary_page_flip.html

  * igt@kms_sysfs_edid_timing:
    - {shard-iclb}:       [FAIL][38] ([fdo#100047]) -> [PASS][39]
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6163/shard-iclb2/igt@kms_sysfs_edid_timing.html
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-iclb1/igt@kms_sysfs_edid_timing.html

  
  {name}: This element is suppressed. This means it is ignored when computing
          the status of the difference (SUCCESS, WARNING, or FAILURE).

  [fdo#100047]: https://bugs.freedesktop.org/show_bug.cgi?id=100047
  [fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
  [fdo#103355]: https://bugs.freedesktop.org/show_bug.cgi?id=103355
  [fdo#103540]: https://bugs.freedesktop.org/show_bug.cgi?id=103540
  [fdo#103927]: https://bugs.freedesktop.org/show_bug.cgi?id=103927
  [fdo#104108]: https://bugs.freedesktop.org/show_bug.cgi?id=104108
  [fdo#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713
  [fdo#108566]: https://bugs.freedesktop.org/show_bug.cgi?id=108566
  [fdo#108686]: https://bugs.freedesktop.org/show_bug.cgi?id=108686
  [fdo#109100]: https://bugs.freedesktop.org/show_bug.cgi?id=109100
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441
  [fdo#109642]: https://bugs.freedesktop.org/show_bug.cgi?id=109642
  [fdo#109673]: https://bugs.freedesktop.org/show_bug.cgi?id=109673
  [fdo#110741]: https://bugs.freedesktop.org/show_bug.cgi?id=110741


Participating hosts (10 -> 10)
------------------------------

  No changes in participating hosts


Build changes
-------------

  * Linux: CI_DRM_6163 -> Patchwork_13124

  CI_DRM_6163: 1b005370a18811c7ee3fc2a477a7b1dd74cff11d @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_5024: f414756be2ac57e194919973da7b86644ba61241 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_13124: 82c3759de56a43cba6be7daa85bff67e27d5074b @ git://anongit.freedesktop.org/gfx-ci/linux
  piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 15+ messages in thread

* ✓ Fi.CI.BAT: success for drm/ioctl: Ditch DRM_UNLOCKED except for the legacy vblank ioctl
  2019-05-29  9:30 [PATCH] drm/ioctl: Ditch DRM_UNLOCKED except for the legacy vblank ioctl Daniel Vetter
                   ` (2 preceding siblings ...)
  2019-05-30  2:32 ` ✓ Fi.CI.IGT: " Patchwork
@ 2019-05-31  8:48 ` Patchwork
  2019-05-31 18:38 ` ✓ Fi.CI.IGT: " Patchwork
                   ` (5 subsequent siblings)
  9 siblings, 0 replies; 15+ messages in thread
From: Patchwork @ 2019-05-31  8:48 UTC (permalink / raw)
  To: Daniel Vetter; +Cc: intel-gfx

== Series Details ==

Series: drm/ioctl: Ditch DRM_UNLOCKED except for the legacy vblank ioctl
URL   : https://patchwork.freedesktop.org/series/61299/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6163 -> Patchwork_13124
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/

Known issues
------------

  Here are the changes found in Patchwork_13124 that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@gem_exec_reloc@basic-gtt-cpu:
    - fi-icl-dsi:         [PASS][1] -> [DMESG-WARN][2] ([fdo#106107]) +1 similar issue
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6163/fi-icl-dsi/igt@gem_exec_reloc@basic-gtt-cpu.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/fi-icl-dsi/igt@gem_exec_reloc@basic-gtt-cpu.html

  
#### Possible fixes ####

  * igt@gem_exec_suspend@basic-s4-devices:
    - fi-icl-u3:          [DMESG-WARN][3] ([fdo#107724]) -> [PASS][4]
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6163/fi-icl-u3/igt@gem_exec_suspend@basic-s4-devices.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/fi-icl-u3/igt@gem_exec_suspend@basic-s4-devices.html

  * igt@i915_selftest@live_contexts:
    - fi-bdw-gvtdvm:      [DMESG-FAIL][5] ([fdo#110235]) -> [PASS][6]
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6163/fi-bdw-gvtdvm/igt@i915_selftest@live_contexts.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/fi-bdw-gvtdvm/igt@i915_selftest@live_contexts.html

  * igt@kms_frontbuffer_tracking@basic:
    - fi-icl-dsi:         [FAIL][7] ([fdo#103167]) -> [PASS][8]
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6163/fi-icl-dsi/igt@kms_frontbuffer_tracking@basic.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/fi-icl-dsi/igt@kms_frontbuffer_tracking@basic.html

  * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a:
    - fi-blb-e6850:       [INCOMPLETE][9] ([fdo#107718]) -> [PASS][10]
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6163/fi-blb-e6850/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/fi-blb-e6850/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a.html

  
#### Warnings ####

  * igt@i915_pm_rpm@module-reload:
    - fi-icl-dsi:         [DMESG-WARN][11] ([fdo#110801]) -> [INCOMPLETE][12] ([fdo#107713] / [fdo#108840])
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6163/fi-icl-dsi/igt@i915_pm_rpm@module-reload.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/fi-icl-dsi/igt@i915_pm_rpm@module-reload.html

  
  [fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
  [fdo#106107]: https://bugs.freedesktop.org/show_bug.cgi?id=106107
  [fdo#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713
  [fdo#107718]: https://bugs.freedesktop.org/show_bug.cgi?id=107718
  [fdo#107724]: https://bugs.freedesktop.org/show_bug.cgi?id=107724
  [fdo#108840]: https://bugs.freedesktop.org/show_bug.cgi?id=108840
  [fdo#110235]: https://bugs.freedesktop.org/show_bug.cgi?id=110235
  [fdo#110801]: https://bugs.freedesktop.org/show_bug.cgi?id=110801


Participating hosts (50 -> 45)
------------------------------

  Additional (1): fi-gdg-551 
  Missing    (6): fi-ilk-m540 fi-byt-squawks fi-bsw-cyan fi-ctg-p8600 fi-byt-clapper fi-bdw-samus 


Build changes
-------------

  * Linux: CI_DRM_6163 -> Patchwork_13124

  CI_DRM_6163: 1b005370a18811c7ee3fc2a477a7b1dd74cff11d @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_5024: f414756be2ac57e194919973da7b86644ba61241 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_13124: 82c3759de56a43cba6be7daa85bff67e27d5074b @ git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

82c3759de56a drm/ioctl: Ditch DRM_UNLOCKED except for the legacy vblank ioctl

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 15+ messages in thread

* ✓ Fi.CI.IGT: success for drm/ioctl: Ditch DRM_UNLOCKED except for the legacy vblank ioctl
  2019-05-29  9:30 [PATCH] drm/ioctl: Ditch DRM_UNLOCKED except for the legacy vblank ioctl Daniel Vetter
                   ` (3 preceding siblings ...)
  2019-05-31  8:48 ` ✓ Fi.CI.BAT: " Patchwork
@ 2019-05-31 18:38 ` Patchwork
  2019-06-05 10:50 ` [PATCH] " Michel Dänzer
                   ` (4 subsequent siblings)
  9 siblings, 0 replies; 15+ messages in thread
From: Patchwork @ 2019-05-31 18:38 UTC (permalink / raw)
  To: Daniel Vetter; +Cc: intel-gfx

== Series Details ==

Series: drm/ioctl: Ditch DRM_UNLOCKED except for the legacy vblank ioctl
URL   : https://patchwork.freedesktop.org/series/61299/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6163_full -> Patchwork_13124_full
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  

Known issues
------------

  Here are the changes found in Patchwork_13124_full that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@gem_ctx_isolation@bcs0-s3:
    - shard-kbl:          [PASS][1] -> ([PASS][2], [DMESG-WARN][3]) ([fdo#108566]) +1 similar issue
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6163/shard-kbl3/igt@gem_ctx_isolation@bcs0-s3.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-kbl2/igt@gem_ctx_isolation@bcs0-s3.html
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-kbl6/igt@gem_ctx_isolation@bcs0-s3.html

  * igt@gem_exec_suspend@basic-s4-devices:
    - shard-apl:          [PASS][4] -> ([INCOMPLETE][5], [INCOMPLETE][6]) ([fdo#103927])
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6163/shard-apl6/igt@gem_exec_suspend@basic-s4-devices.html
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-apl5/igt@gem_exec_suspend@basic-s4-devices.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-apl4/igt@gem_exec_suspend@basic-s4-devices.html

  * igt@gem_softpin@noreloc-s3:
    - shard-apl:          [PASS][7] -> ([DMESG-WARN][8], [DMESG-WARN][9]) ([fdo#108566]) +3 similar issues
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6163/shard-apl3/igt@gem_softpin@noreloc-s3.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-apl4/igt@gem_softpin@noreloc-s3.html
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-apl7/igt@gem_softpin@noreloc-s3.html

  * igt@gem_tiled_swapping@non-threaded:
    - shard-kbl:          [PASS][10] -> ([PASS][11], [DMESG-WARN][12]) ([fdo#108686])
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6163/shard-kbl3/igt@gem_tiled_swapping@non-threaded.html
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-kbl3/igt@gem_tiled_swapping@non-threaded.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-kbl4/igt@gem_tiled_swapping@non-threaded.html
    - shard-snb:          [PASS][13] -> ([FAIL][14], [DMESG-WARN][15]) ([fdo#108686])
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6163/shard-snb2/igt@gem_tiled_swapping@non-threaded.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-snb5/igt@gem_tiled_swapping@non-threaded.html
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-snb6/igt@gem_tiled_swapping@non-threaded.html

  * igt@gem_workarounds@reset-context:
    - shard-iclb:         [PASS][16] -> ([FAIL][17], [PASS][18]) ([fdo#110802]) +1 similar issue
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6163/shard-iclb4/igt@gem_workarounds@reset-context.html
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-iclb2/igt@gem_workarounds@reset-context.html
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-iclb6/igt@gem_workarounds@reset-context.html

  * igt@kms_cursor_crc@pipe-a-cursor-suspend:
    - shard-apl:          [PASS][19] -> [DMESG-WARN][20] ([fdo#108566])
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6163/shard-apl8/igt@kms_cursor_crc@pipe-a-cursor-suspend.html
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-apl6/igt@kms_cursor_crc@pipe-a-cursor-suspend.html

  * igt@kms_cursor_legacy@cursor-vs-flip-toggle:
    - shard-hsw:          [PASS][21] -> ([FAIL][22], [FAIL][23]) ([fdo#103355])
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6163/shard-hsw4/igt@kms_cursor_legacy@cursor-vs-flip-toggle.html
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-hsw1/igt@kms_cursor_legacy@cursor-vs-flip-toggle.html
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-hsw8/igt@kms_cursor_legacy@cursor-vs-flip-toggle.html

  * igt@kms_cursor_legacy@pipe-c-torture-move:
    - shard-apl:          [PASS][24] -> [INCOMPLETE][25] ([fdo#103927])
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6163/shard-apl6/igt@kms_cursor_legacy@pipe-c-torture-move.html
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-apl4/igt@kms_cursor_legacy@pipe-c-torture-move.html

  * igt@kms_flip@2x-flip-vs-modeset-vs-hang-interruptible:
    - shard-hsw:          [PASS][26] -> [SKIP][27] ([fdo#109271]) +2 similar issues
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6163/shard-hsw8/igt@kms_flip@2x-flip-vs-modeset-vs-hang-interruptible.html
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-hsw1/igt@kms_flip@2x-flip-vs-modeset-vs-hang-interruptible.html

  * igt@kms_flip@flip-vs-expired-vblank:
    - shard-skl:          [PASS][28] -> ([FAIL][29], [PASS][30]) ([fdo#105363])
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6163/shard-skl5/igt@kms_flip@flip-vs-expired-vblank.html
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-skl7/igt@kms_flip@flip-vs-expired-vblank.html
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-skl1/igt@kms_flip@flip-vs-expired-vblank.html

  * igt@kms_flip@flip-vs-suspend:
    - shard-skl:          [PASS][31] -> ([INCOMPLETE][32], [PASS][33]) ([fdo#109507])
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6163/shard-skl4/igt@kms_flip@flip-vs-suspend.html
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-skl10/igt@kms_flip@flip-vs-suspend.html
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-skl1/igt@kms_flip@flip-vs-suspend.html

  * igt@kms_flip_tiling@flip-x-tiled:
    - shard-iclb:         [PASS][34] -> ([PASS][35], [FAIL][36]) ([fdo#108303])
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6163/shard-iclb8/igt@kms_flip_tiling@flip-x-tiled.html
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-iclb2/igt@kms_flip_tiling@flip-x-tiled.html
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-iclb5/igt@kms_flip_tiling@flip-x-tiled.html

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-render:
    - shard-iclb:         [PASS][37] -> [FAIL][38] ([fdo#103167])
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6163/shard-iclb5/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-render.html
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-iclb2/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-render.html

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-onoff:
    - shard-hsw:          [PASS][39] -> ([SKIP][40], [PASS][41]) ([fdo#109271]) +24 similar issues
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6163/shard-hsw8/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-onoff.html
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-hsw1/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-onoff.html
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-hsw5/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-onoff.html

  * igt@kms_frontbuffer_tracking@fbc-suspend:
    - shard-apl:          [PASS][42] -> ([PASS][43], [DMESG-WARN][44]) ([fdo#108566]) +3 similar issues
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6163/shard-apl7/igt@kms_frontbuffer_tracking@fbc-suspend.html
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-apl3/igt@kms_frontbuffer_tracking@fbc-suspend.html
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-apl5/igt@kms_frontbuffer_tracking@fbc-suspend.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-mmap-gtt:
    - shard-iclb:         [PASS][45] -> ([PASS][46], [FAIL][47]) ([fdo#103167]) +5 similar issues
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6163/shard-iclb4/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-mmap-gtt.html
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-iclb6/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-mmap-gtt.html
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-iclb8/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-mmap-gtt.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-draw-pwrite:
    - shard-skl:          [PASS][48] -> ([PASS][49], [FAIL][50]) ([fdo#103167]) +1 similar issue
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6163/shard-skl8/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-draw-pwrite.html
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-skl8/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-draw-pwrite.html
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-skl6/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-draw-pwrite.html

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-move:
    - shard-skl:          [PASS][51] -> ([INCOMPLETE][52], [PASS][53]) ([fdo#106978])
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6163/shard-skl1/igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-move.html
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-skl3/igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-move.html
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-skl9/igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-move.html

  * igt@kms_plane_alpha_blend@pipe-a-coverage-7efc:
    - shard-skl:          [PASS][54] -> ([FAIL][55], [PASS][56]) ([fdo#108145])
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6163/shard-skl8/igt@kms_plane_alpha_blend@pipe-a-coverage-7efc.html
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-skl6/igt@kms_plane_alpha_blend@pipe-a-coverage-7efc.html
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-skl8/igt@kms_plane_alpha_blend@pipe-a-coverage-7efc.html

  * igt@kms_plane_lowres@pipe-a-tiling-y:
    - shard-iclb:         [PASS][57] -> ([PASS][58], [FAIL][59]) ([fdo#103166])
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6163/shard-iclb2/igt@kms_plane_lowres@pipe-a-tiling-y.html
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-iclb2/igt@kms_plane_lowres@pipe-a-tiling-y.html
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-iclb8/igt@kms_plane_lowres@pipe-a-tiling-y.html

  * igt@kms_psr@psr2_cursor_blt:
    - shard-iclb:         [PASS][60] -> ([SKIP][61], [PASS][62]) ([fdo#109441])
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6163/shard-iclb2/igt@kms_psr@psr2_cursor_blt.html
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-iclb8/igt@kms_psr@psr2_cursor_blt.html
   [62]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-iclb2/igt@kms_psr@psr2_cursor_blt.html

  * igt@kms_psr@psr2_sprite_plane_onoff:
    - shard-iclb:         [PASS][63] -> ([SKIP][64], [SKIP][65]) ([fdo#109441])
   [63]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6163/shard-iclb2/igt@kms_psr@psr2_sprite_plane_onoff.html
   [64]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-iclb1/igt@kms_psr@psr2_sprite_plane_onoff.html
   [65]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-iclb7/igt@kms_psr@psr2_sprite_plane_onoff.html

  * igt@kms_sysfs_edid_timing:
    - shard-hsw:          [PASS][66] -> [INCOMPLETE][67] ([fdo#103540])
   [66]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6163/shard-hsw2/igt@kms_sysfs_edid_timing.html
   [67]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-hsw8/igt@kms_sysfs_edid_timing.html

  
#### Possible fixes ####

  * igt@gem_mmap_gtt@medium-copy-xy:
    - shard-iclb:         [INCOMPLETE][68] ([fdo#107713]) -> ([PASS][69], [PASS][70])
   [68]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6163/shard-iclb7/igt@gem_mmap_gtt@medium-copy-xy.html
   [69]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-iclb4/igt@gem_mmap_gtt@medium-copy-xy.html
   [70]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-iclb3/igt@gem_mmap_gtt@medium-copy-xy.html

  * igt@gem_workarounds@reset:
    - shard-iclb:         [FAIL][71] ([fdo#110802]) -> ([PASS][72], [PASS][73])
   [71]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6163/shard-iclb1/igt@gem_workarounds@reset.html
   [72]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-iclb8/igt@gem_workarounds@reset.html
   [73]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-iclb6/igt@gem_workarounds@reset.html

  * igt@kms_cursor_crc@pipe-a-cursor-suspend:
    - shard-skl:          [INCOMPLETE][74] ([fdo#110741]) -> [PASS][75]
   [74]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6163/shard-skl9/igt@kms_cursor_crc@pipe-a-cursor-suspend.html
   [75]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-skl9/igt@kms_cursor_crc@pipe-a-cursor-suspend.html

  * igt@kms_cursor_crc@pipe-b-cursor-128x128-random:
    - shard-hsw:          [INCOMPLETE][76] ([fdo#103540]) -> ([PASS][77], [PASS][78]) +1 similar issue
   [76]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6163/shard-hsw1/igt@kms_cursor_crc@pipe-b-cursor-128x128-random.html
   [77]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-hsw1/igt@kms_cursor_crc@pipe-b-cursor-128x128-random.html
   [78]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-hsw2/igt@kms_cursor_crc@pipe-b-cursor-128x128-random.html

  * igt@kms_cursor_crc@pipe-c-cursor-suspend:
    - shard-skl:          [INCOMPLETE][79] ([fdo#110741]) -> ([PASS][80], [PASS][81])
   [79]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6163/shard-skl3/igt@kms_cursor_crc@pipe-c-cursor-suspend.html
   [80]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-skl9/igt@kms_cursor_crc@pipe-c-cursor-suspend.html
   [81]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-skl4/igt@kms_cursor_crc@pipe-c-cursor-suspend.html

  * igt@kms_fbcon_fbt@fbc-suspend:
    - shard-skl:          [INCOMPLETE][82] ([fdo#104108]) -> ([PASS][83], [PASS][84])
   [82]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6163/shard-skl6/igt@kms_fbcon_fbt@fbc-suspend.html
   [83]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-skl2/igt@kms_fbcon_fbt@fbc-suspend.html
   [84]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-skl10/igt@kms_fbcon_fbt@fbc-suspend.html

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-mmap-wc:
    - shard-hsw:          [SKIP][85] ([fdo#109271]) -> ([PASS][86], [PASS][87]) +12 similar issues
   [85]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6163/shard-hsw1/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-mmap-wc.html
   [86]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-hsw8/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-mmap-wc.html
   [87]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-hsw4/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-move:
    - shard-hsw:          [SKIP][88] ([fdo#109271]) -> [PASS][89] +4 similar issues
   [88]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6163/shard-hsw1/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-move.html
   [89]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-hsw2/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-move.html

  * igt@kms_frontbuffer_tracking@fbc-suspend:
    - shard-iclb:         [FAIL][90] ([fdo#103167]) -> ([PASS][91], [PASS][92]) +2 similar issues
   [90]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6163/shard-iclb6/igt@kms_frontbuffer_tracking@fbc-suspend.html
   [91]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-iclb6/igt@kms_frontbuffer_tracking@fbc-suspend.html
   [92]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-iclb4/igt@kms_frontbuffer_tracking@fbc-suspend.html

  * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a:
    - shard-kbl:          [DMESG-WARN][93] ([fdo#108566]) -> ([PASS][94], [PASS][95])
   [93]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6163/shard-kbl6/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a.html
   [94]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-kbl2/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a.html
   [95]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-kbl3/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a.html

  * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-b:
    - shard-apl:          [DMESG-WARN][96] ([fdo#108566]) -> ([PASS][97], [PASS][98])
   [96]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6163/shard-apl3/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-b.html
   [97]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-apl4/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-b.html
   [98]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-apl7/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-b.html

  * igt@kms_sysfs_edid_timing:
    - shard-iclb:         [FAIL][99] ([fdo#100047]) -> ([PASS][100], [PASS][101])
   [99]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6163/shard-iclb2/igt@kms_sysfs_edid_timing.html
   [100]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-iclb1/igt@kms_sysfs_edid_timing.html
   [101]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-iclb7/igt@kms_sysfs_edid_timing.html

  
#### Warnings ####

  * igt@gem_mmap_gtt@forked-big-copy-odd:
    - shard-iclb:         [INCOMPLETE][102] ([fdo#107713] / [fdo#109100]) -> ([INCOMPLETE][103], [TIMEOUT][104]) ([fdo#107713] / [fdo#109100] / [fdo#109673])
   [102]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6163/shard-iclb1/igt@gem_mmap_gtt@forked-big-copy-odd.html
   [103]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-iclb8/igt@gem_mmap_gtt@forked-big-copy-odd.html
   [104]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-iclb6/igt@gem_mmap_gtt@forked-big-copy-odd.html

  * igt@gem_mmap_gtt@forked-big-copy-xy:
    - shard-iclb:         [INCOMPLETE][105] ([fdo#107713] / [fdo#109100]) -> ([TIMEOUT][106], [TIMEOUT][107]) ([fdo#109673])
   [105]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6163/shard-iclb3/igt@gem_mmap_gtt@forked-big-copy-xy.html
   [106]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-iclb1/igt@gem_mmap_gtt@forked-big-copy-xy.html
   [107]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-iclb5/igt@gem_mmap_gtt@forked-big-copy-xy.html

  * igt@gem_workarounds@basic-read-context:
    - shard-iclb:         [FAIL][108] ([fdo#110802]) -> ([FAIL][109], [PASS][110]) ([fdo#110802])
   [108]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6163/shard-iclb2/igt@gem_workarounds@basic-read-context.html
   [109]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-iclb1/igt@gem_workarounds@basic-read-context.html
   [110]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-iclb7/igt@gem_workarounds@basic-read-context.html

  * igt@kms_frontbuffer_tracking@fbc-1p-pri-indfb-multidraw:
    - shard-iclb:         [FAIL][111] ([fdo#103167]) -> ([PASS][112], [FAIL][113]) ([fdo#103167]) +1 similar issue
   [111]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6163/shard-iclb2/igt@kms_frontbuffer_tracking@fbc-1p-pri-indfb-multidraw.html
   [112]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-iclb1/igt@kms_frontbuffer_tracking@fbc-1p-pri-indfb-multidraw.html
   [113]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-iclb8/igt@kms_frontbuffer_tracking@fbc-1p-pri-indfb-multidraw.html

  * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-cur-indfb-move:
    - shard-hsw:          [SKIP][114] ([fdo#109271]) -> ([PASS][115], [SKIP][116]) ([fdo#109271]) +11 similar issues

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH] drm/ioctl: Ditch DRM_UNLOCKED except for the legacy vblank ioctl
  2019-05-29  9:30 [PATCH] drm/ioctl: Ditch DRM_UNLOCKED except for the legacy vblank ioctl Daniel Vetter
                   ` (4 preceding siblings ...)
  2019-05-31 18:38 ` ✓ Fi.CI.IGT: " Patchwork
@ 2019-06-05 10:50 ` Michel Dänzer
  2019-06-05 11:19   ` Daniel Vetter
  2019-06-05 12:08 ` Daniel Vetter
                   ` (3 subsequent siblings)
  9 siblings, 1 reply; 15+ messages in thread
From: Michel Dänzer @ 2019-06-05 10:50 UTC (permalink / raw)
  To: Daniel Vetter, Intel Graphics Development; +Cc: Daniel Vetter, DRI Development

On 2019-05-29 11:30 a.m., Daniel Vetter wrote:
> This completes Emil's series of removing DRM_UNLOCKED from modern
> drivers. It's entirely cargo-culted since we ignore it on
> non-DRIVER_LEGACY drivers since:
> 
> commit ea487835e8876abf7ad909636e308c801a2bcda6
> Author: Daniel Vetter <daniel.vetter@ffwll.ch>
> Date:   Mon Sep 28 21:42:40 2015 +0200
> 
>     drm: Enforce unlocked ioctl operation for kms driver ioctls
> 
> Now justifying why we can do this for legacy drives too (and hence
> close the source of all the bogus copypasting) is a bit more involved.
> DRM_UNLOCKED was introduced in:
> 
> commit ed8b67040965e4fe695db333d5914e18ea5f146f
> Author: Arnd Bergmann <arnd@arndb.de>
> Date:   Wed Dec 16 22:17:09 2009 +0000
> 
>     drm: convert drm_ioctl to unlocked_ioctl
> 
> As a immediate hack to keep i810 happy, which would have deadlocked
> without this trickery. The old BKL is automatically dropped in
> schedule(), and hence the i810 vs. mmap_sem deadlock didn't actually
> cause a real deadlock. But with a mutex it would. The solution was to
> annotate these as DRM_UNLOCKED and mark i810 unsafe on SMP machines.
> 
> This conversion caused a regression, because unlike the BKL a mutex
> isn't dropped over schedule (that thing again), which caused a vblank
> wait in one thread to block the entire desktop and all its apps. Back
> then we did vblank scheduling by blocking in the client, awesome isn't
> it. This was fixed quickly in (ok not so quickly, took 2 years):
> 
> commit 8f4ff2b06afcd6f151868474a432c603057eaf56
> Author: Ilija Hadzic <ihadzic@research.bell-labs.com>
> Date:   Mon Oct 31 17:46:18 2011 -0400
> 
>     drm: do not sleep on vblank while holding a mutex
> 
> All the other DRM_UNLOCKED annotations for all the core ioctls was
> work to reach finer-grained locking for modern drivers. This took
> years, and culminated in:
> 
> commit fdd5b877e9ebc2029e1373b4a3cd057329a9ab7a
> Author: Daniel Vetter <daniel.vetter@ffwll.ch>
> Date:   Sat Dec 10 22:52:54 2016 +0100
> 
>     drm: Enforce BKL-less ioctls for modern drivers
> 
> DRM_UNLOCKED was never required by any legacy drivers, except for the
> vblank_wait IOCTL. Therefore we will not regress these old drivers by
> going back to where we've been in 2011. For all modern drivers nothing
> will change.
> 
> To make this perfectly clear, also add a comment to DRM_UNLOCKED.
> 
> Cc: Emil Velikov <emil.l.velikov@gmail.com>
> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
> ---
>  drivers/gpu/drm/drm_ioctl.c | 139 ++++++++++++++++++------------------
>  include/drm/drm_ioctl.h     |   3 +
>  2 files changed, 72 insertions(+), 70 deletions(-)

Did you miss drivers/gpu/drm/drm_ioc32.c ?


-- 
Earthling Michel Dänzer               |              https://www.amd.com
Libre software enthusiast             |             Mesa and X developer
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH] drm/ioctl: Ditch DRM_UNLOCKED except for the legacy vblank ioctl
  2019-06-05 10:50 ` [PATCH] " Michel Dänzer
@ 2019-06-05 11:19   ` Daniel Vetter
  0 siblings, 0 replies; 15+ messages in thread
From: Daniel Vetter @ 2019-06-05 11:19 UTC (permalink / raw)
  To: Michel Dänzer
  Cc: Daniel Vetter, Intel Graphics Development, Emil Velikov, DRI Development

On Wed, Jun 5, 2019 at 12:50 PM Michel Dänzer <michel@daenzer.net> wrote:
>
> On 2019-05-29 11:30 a.m., Daniel Vetter wrote:
> > This completes Emil's series of removing DRM_UNLOCKED from modern
> > drivers. It's entirely cargo-culted since we ignore it on
> > non-DRIVER_LEGACY drivers since:
> >
> > commit ea487835e8876abf7ad909636e308c801a2bcda6
> > Author: Daniel Vetter <daniel.vetter@ffwll.ch>
> > Date:   Mon Sep 28 21:42:40 2015 +0200
> >
> >     drm: Enforce unlocked ioctl operation for kms driver ioctls
> >
> > Now justifying why we can do this for legacy drives too (and hence
> > close the source of all the bogus copypasting) is a bit more involved.
> > DRM_UNLOCKED was introduced in:
> >
> > commit ed8b67040965e4fe695db333d5914e18ea5f146f
> > Author: Arnd Bergmann <arnd@arndb.de>
> > Date:   Wed Dec 16 22:17:09 2009 +0000
> >
> >     drm: convert drm_ioctl to unlocked_ioctl
> >
> > As a immediate hack to keep i810 happy, which would have deadlocked
> > without this trickery. The old BKL is automatically dropped in
> > schedule(), and hence the i810 vs. mmap_sem deadlock didn't actually
> > cause a real deadlock. But with a mutex it would. The solution was to
> > annotate these as DRM_UNLOCKED and mark i810 unsafe on SMP machines.
> >
> > This conversion caused a regression, because unlike the BKL a mutex
> > isn't dropped over schedule (that thing again), which caused a vblank
> > wait in one thread to block the entire desktop and all its apps. Back
> > then we did vblank scheduling by blocking in the client, awesome isn't
> > it. This was fixed quickly in (ok not so quickly, took 2 years):
> >
> > commit 8f4ff2b06afcd6f151868474a432c603057eaf56
> > Author: Ilija Hadzic <ihadzic@research.bell-labs.com>
> > Date:   Mon Oct 31 17:46:18 2011 -0400
> >
> >     drm: do not sleep on vblank while holding a mutex
> >
> > All the other DRM_UNLOCKED annotations for all the core ioctls was
> > work to reach finer-grained locking for modern drivers. This took
> > years, and culminated in:
> >
> > commit fdd5b877e9ebc2029e1373b4a3cd057329a9ab7a
> > Author: Daniel Vetter <daniel.vetter@ffwll.ch>
> > Date:   Sat Dec 10 22:52:54 2016 +0100
> >
> >     drm: Enforce BKL-less ioctls for modern drivers
> >
> > DRM_UNLOCKED was never required by any legacy drivers, except for the
> > vblank_wait IOCTL. Therefore we will not regress these old drivers by
> > going back to where we've been in 2011. For all modern drivers nothing
> > will change.
> >
> > To make this perfectly clear, also add a comment to DRM_UNLOCKED.
> >
> > Cc: Emil Velikov <emil.l.velikov@gmail.com>
> > Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
> > ---
> >  drivers/gpu/drm/drm_ioctl.c | 139 ++++++++++++++++++------------------
> >  include/drm/drm_ioctl.h     |   3 +
> >  2 files changed, 72 insertions(+), 70 deletions(-)
>
> Did you miss drivers/gpu/drm/drm_ioc32.c ?

Hm indeed. Not a worry from a copypasta-spreading pov, since hopefully
no one copypastes ioc32 compat code. But from a consistency side
should definitely make sure ioctls work the same whether userspace is
32bit or 64bit. I'll respin, thanks for spotting this.
-Daniel

>
>
> --
> Earthling Michel Dänzer               |              https://www.amd.com
> Libre software enthusiast             |             Mesa and X developer



-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [PATCH] drm/ioctl: Ditch DRM_UNLOCKED except for the legacy vblank ioctl
  2019-05-29  9:30 [PATCH] drm/ioctl: Ditch DRM_UNLOCKED except for the legacy vblank ioctl Daniel Vetter
                   ` (5 preceding siblings ...)
  2019-06-05 10:50 ` [PATCH] " Michel Dänzer
@ 2019-06-05 12:08 ` Daniel Vetter
  2019-06-07 10:24   ` Emil Velikov
  2019-06-05 14:12 ` ✗ Fi.CI.CHECKPATCH: warning for drm/ioctl: Ditch DRM_UNLOCKED except for the legacy vblank ioctl (rev2) Patchwork
                   ` (2 subsequent siblings)
  9 siblings, 1 reply; 15+ messages in thread
From: Daniel Vetter @ 2019-06-05 12:08 UTC (permalink / raw)
  To: DRI Development
  Cc: Daniel Vetter, Intel Graphics Development, Michel Dänzer,
	Daniel Vetter

This completes Emil's series of removing DRM_UNLOCKED from modern
drivers. It's entirely cargo-culted since we ignore it on
non-DRIVER_LEGACY drivers since:

commit ea487835e8876abf7ad909636e308c801a2bcda6
Author: Daniel Vetter <daniel.vetter@ffwll.ch>
Date:   Mon Sep 28 21:42:40 2015 +0200

    drm: Enforce unlocked ioctl operation for kms driver ioctls

Now justifying why we can do this for legacy drives too (and hence
close the source of all the bogus copypasting) is a bit more involved.
DRM_UNLOCKED was introduced in:

commit ed8b67040965e4fe695db333d5914e18ea5f146f
Author: Arnd Bergmann <arnd@arndb.de>
Date:   Wed Dec 16 22:17:09 2009 +0000

    drm: convert drm_ioctl to unlocked_ioctl

As a immediate hack to keep i810 happy, which would have deadlocked
without this trickery. The old BKL is automatically dropped in
schedule(), and hence the i810 vs. mmap_sem deadlock didn't actually
cause a real deadlock. But with a mutex it would. The solution was to
annotate these as DRM_UNLOCKED and mark i810 unsafe on SMP machines.

This conversion caused a regression, because unlike the BKL a mutex
isn't dropped over schedule (that thing again), which caused a vblank
wait in one thread to block the entire desktop and all its apps. Back
then we did vblank scheduling by blocking in the client, awesome isn't
it. This was fixed quickly in (ok not so quickly, took 2 years):

commit 8f4ff2b06afcd6f151868474a432c603057eaf56
Author: Ilija Hadzic <ihadzic@research.bell-labs.com>
Date:   Mon Oct 31 17:46:18 2011 -0400

    drm: do not sleep on vblank while holding a mutex

All the other DRM_UNLOCKED annotations for all the core ioctls was
work to reach finer-grained locking for modern drivers. This took
years, and culminated in:

commit fdd5b877e9ebc2029e1373b4a3cd057329a9ab7a
Author: Daniel Vetter <daniel.vetter@ffwll.ch>
Date:   Sat Dec 10 22:52:54 2016 +0100

    drm: Enforce BKL-less ioctls for modern drivers

DRM_UNLOCKED was never required by any legacy drivers, except for the
vblank_wait IOCTL. Therefore we will not regress these old drivers by
going back to where we've been in 2011. For all modern drivers nothing
will change.

To make this perfectly clear, also add a comment to DRM_UNLOCKED.

v2: Don't forget about drm_ioc32.c (Michel). Not a source of copypasta
mistakes when creating driver ioctl tables, but better to be
consistent.

Cc: Michel Dänzer <michel@daenzer.net>
Cc: Emil Velikov <emil.l.velikov@gmail.com>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
---
 drivers/gpu/drm/drm_ioc32.c |  13 ++--
 drivers/gpu/drm/drm_ioctl.c | 139 ++++++++++++++++++------------------
 include/drm/drm_ioctl.h     |   3 +
 3 files changed, 78 insertions(+), 77 deletions(-)

diff --git a/drivers/gpu/drm/drm_ioc32.c b/drivers/gpu/drm/drm_ioc32.c
index 586aa28024c5..e1371f30f065 100644
--- a/drivers/gpu/drm/drm_ioc32.c
+++ b/drivers/gpu/drm/drm_ioc32.c
@@ -108,7 +108,7 @@ static int compat_drm_version(struct file *file, unsigned int cmd,
 		.desc = compat_ptr(v32.desc),
 	};
 	err = drm_ioctl_kernel(file, drm_version, &v,
-			       DRM_UNLOCKED|DRM_RENDER_ALLOW);
+			       DRM_RENDER_ALLOW);
 	if (err)
 		return err;
 
@@ -142,7 +142,7 @@ static int compat_drm_getunique(struct file *file, unsigned int cmd,
 		.unique = compat_ptr(uq32.unique),
 	};
 
-	err = drm_ioctl_kernel(file, drm_getunique, &uq, DRM_UNLOCKED);
+	err = drm_ioctl_kernel(file, drm_getunique, &uq, 0);
 	if (err)
 		return err;
 
@@ -181,7 +181,7 @@ static int compat_drm_getmap(struct file *file, unsigned int cmd,
 		return -EFAULT;
 
 	map.offset = m32.offset;
-	err = drm_ioctl_kernel(file, drm_legacy_getmap_ioctl, &map, DRM_UNLOCKED);
+	err = drm_ioctl_kernel(file, drm_legacy_getmap_ioctl, &map, 0);
 	if (err)
 		return err;
 
@@ -267,7 +267,7 @@ static int compat_drm_getclient(struct file *file, unsigned int cmd,
 
 	client.idx = c32.idx;
 
-	err = drm_ioctl_kernel(file, drm_getclient, &client, DRM_UNLOCKED);
+	err = drm_ioctl_kernel(file, drm_getclient, &client, 0);
 	if (err)
 		return err;
 
@@ -297,7 +297,7 @@ static int compat_drm_getstats(struct file *file, unsigned int cmd,
 	drm_stats32_t __user *argp = (void __user *)arg;
 	int err;
 
-	err = drm_ioctl_kernel(file, drm_noop, NULL, DRM_UNLOCKED);
+	err = drm_ioctl_kernel(file, drm_noop, NULL, 0);
 	if (err)
 		return err;
 
@@ -892,8 +892,7 @@ static int compat_drm_mode_addfb2(struct file *file, unsigned int cmd,
 			   sizeof(req64.modifier)))
 		return -EFAULT;
 
-	err = drm_ioctl_kernel(file, drm_mode_addfb2, &req64,
-			       DRM_UNLOCKED);
+	err = drm_ioctl_kernel(file, drm_mode_addfb2, &req64, 0);
 	if (err)
 		return err;
 
diff --git a/drivers/gpu/drm/drm_ioctl.c b/drivers/gpu/drm/drm_ioctl.c
index a1eb422a5711..365d7a5629f6 100644
--- a/drivers/gpu/drm/drm_ioctl.c
+++ b/drivers/gpu/drm/drm_ioctl.c
@@ -570,24 +570,23 @@ EXPORT_SYMBOL(drm_ioctl_permit);
 
 /* Ioctl table */
 static const struct drm_ioctl_desc drm_ioctls[] = {
-	DRM_IOCTL_DEF(DRM_IOCTL_VERSION, drm_version,
-		      DRM_UNLOCKED|DRM_RENDER_ALLOW),
-	DRM_IOCTL_DEF(DRM_IOCTL_GET_UNIQUE, drm_getunique, DRM_UNLOCKED),
-	DRM_IOCTL_DEF(DRM_IOCTL_GET_MAGIC, drm_getmagic, DRM_UNLOCKED),
+	DRM_IOCTL_DEF(DRM_IOCTL_VERSION, drm_version, DRM_RENDER_ALLOW),
+	DRM_IOCTL_DEF(DRM_IOCTL_GET_UNIQUE, drm_getunique, 0),
+	DRM_IOCTL_DEF(DRM_IOCTL_GET_MAGIC, drm_getmagic, 0),
 	DRM_IOCTL_DEF(DRM_IOCTL_IRQ_BUSID, drm_irq_by_busid, DRM_MASTER|DRM_ROOT_ONLY),
 
-	DRM_LEGACY_IOCTL_DEF(DRM_IOCTL_GET_MAP, drm_legacy_getmap_ioctl, DRM_UNLOCKED),
+	DRM_LEGACY_IOCTL_DEF(DRM_IOCTL_GET_MAP, drm_legacy_getmap_ioctl, 0),
 
-	DRM_IOCTL_DEF(DRM_IOCTL_GET_CLIENT, drm_getclient, DRM_UNLOCKED),
-	DRM_IOCTL_DEF(DRM_IOCTL_GET_STATS, drm_getstats, DRM_UNLOCKED),
-	DRM_IOCTL_DEF(DRM_IOCTL_GET_CAP, drm_getcap, DRM_UNLOCKED|DRM_RENDER_ALLOW),
-	DRM_IOCTL_DEF(DRM_IOCTL_SET_CLIENT_CAP, drm_setclientcap, DRM_UNLOCKED),
-	DRM_IOCTL_DEF(DRM_IOCTL_SET_VERSION, drm_setversion, DRM_UNLOCKED | DRM_MASTER),
+	DRM_IOCTL_DEF(DRM_IOCTL_GET_CLIENT, drm_getclient, 0),
+	DRM_IOCTL_DEF(DRM_IOCTL_GET_STATS, drm_getstats, 0),
+	DRM_IOCTL_DEF(DRM_IOCTL_GET_CAP, drm_getcap, DRM_RENDER_ALLOW),
+	DRM_IOCTL_DEF(DRM_IOCTL_SET_CLIENT_CAP, drm_setclientcap, 0),
+	DRM_IOCTL_DEF(DRM_IOCTL_SET_VERSION, drm_setversion, DRM_MASTER),
 
 	DRM_IOCTL_DEF(DRM_IOCTL_SET_UNIQUE, drm_invalid_op, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY),
 	DRM_IOCTL_DEF(DRM_IOCTL_BLOCK, drm_noop, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY),
 	DRM_IOCTL_DEF(DRM_IOCTL_UNBLOCK, drm_noop, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY),
-	DRM_IOCTL_DEF(DRM_IOCTL_AUTH_MAGIC, drm_authmagic, DRM_UNLOCKED|DRM_MASTER),
+	DRM_IOCTL_DEF(DRM_IOCTL_AUTH_MAGIC, drm_authmagic, DRM_MASTER),
 
 	DRM_LEGACY_IOCTL_DEF(DRM_IOCTL_ADD_MAP, drm_legacy_addmap_ioctl, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY),
 	DRM_LEGACY_IOCTL_DEF(DRM_IOCTL_RM_MAP, drm_legacy_rmmap_ioctl, DRM_AUTH),
@@ -595,8 +594,8 @@ static const struct drm_ioctl_desc drm_ioctls[] = {
 	DRM_LEGACY_IOCTL_DEF(DRM_IOCTL_SET_SAREA_CTX, drm_legacy_setsareactx, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY),
 	DRM_LEGACY_IOCTL_DEF(DRM_IOCTL_GET_SAREA_CTX, drm_legacy_getsareactx, DRM_AUTH),
 
-	DRM_IOCTL_DEF(DRM_IOCTL_SET_MASTER, drm_setmaster_ioctl, DRM_UNLOCKED|DRM_ROOT_ONLY),
-	DRM_IOCTL_DEF(DRM_IOCTL_DROP_MASTER, drm_dropmaster_ioctl, DRM_UNLOCKED|DRM_ROOT_ONLY),
+	DRM_IOCTL_DEF(DRM_IOCTL_SET_MASTER, drm_setmaster_ioctl, DRM_ROOT_ONLY),
+	DRM_IOCTL_DEF(DRM_IOCTL_DROP_MASTER, drm_dropmaster_ioctl, DRM_ROOT_ONLY),
 
 	DRM_LEGACY_IOCTL_DEF(DRM_IOCTL_ADD_CTX, drm_legacy_addctx, DRM_AUTH|DRM_ROOT_ONLY),
 	DRM_LEGACY_IOCTL_DEF(DRM_IOCTL_RM_CTX, drm_legacy_rmctx, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY),
@@ -642,74 +641,74 @@ static const struct drm_ioctl_desc drm_ioctls[] = {
 
 	DRM_IOCTL_DEF(DRM_IOCTL_UPDATE_DRAW, drm_noop, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY),
 
-	DRM_IOCTL_DEF(DRM_IOCTL_GEM_CLOSE, drm_gem_close_ioctl, DRM_UNLOCKED|DRM_RENDER_ALLOW),
-	DRM_IOCTL_DEF(DRM_IOCTL_GEM_FLINK, drm_gem_flink_ioctl, DRM_AUTH|DRM_UNLOCKED),
-	DRM_IOCTL_DEF(DRM_IOCTL_GEM_OPEN, drm_gem_open_ioctl, DRM_AUTH|DRM_UNLOCKED),
-
-	DRM_IOCTL_DEF(DRM_IOCTL_MODE_GETRESOURCES, drm_mode_getresources, DRM_UNLOCKED),
-
-	DRM_IOCTL_DEF(DRM_IOCTL_PRIME_HANDLE_TO_FD, drm_prime_handle_to_fd_ioctl, DRM_AUTH|DRM_UNLOCKED|DRM_RENDER_ALLOW),
-	DRM_IOCTL_DEF(DRM_IOCTL_PRIME_FD_TO_HANDLE, drm_prime_fd_to_handle_ioctl, DRM_AUTH|DRM_UNLOCKED|DRM_RENDER_ALLOW),
-
-	DRM_IOCTL_DEF(DRM_IOCTL_MODE_GETPLANERESOURCES, drm_mode_getplane_res, DRM_UNLOCKED),
-	DRM_IOCTL_DEF(DRM_IOCTL_MODE_GETCRTC, drm_mode_getcrtc, DRM_UNLOCKED),
-	DRM_IOCTL_DEF(DRM_IOCTL_MODE_SETCRTC, drm_mode_setcrtc, DRM_MASTER|DRM_UNLOCKED),
-	DRM_IOCTL_DEF(DRM_IOCTL_MODE_GETPLANE, drm_mode_getplane, DRM_UNLOCKED),
-	DRM_IOCTL_DEF(DRM_IOCTL_MODE_SETPLANE, drm_mode_setplane, DRM_MASTER|DRM_UNLOCKED),
-	DRM_IOCTL_DEF(DRM_IOCTL_MODE_CURSOR, drm_mode_cursor_ioctl, DRM_MASTER|DRM_UNLOCKED),
-	DRM_IOCTL_DEF(DRM_IOCTL_MODE_GETGAMMA, drm_mode_gamma_get_ioctl, DRM_UNLOCKED),
-	DRM_IOCTL_DEF(DRM_IOCTL_MODE_SETGAMMA, drm_mode_gamma_set_ioctl, DRM_MASTER|DRM_UNLOCKED),
-	DRM_IOCTL_DEF(DRM_IOCTL_MODE_GETENCODER, drm_mode_getencoder, DRM_UNLOCKED),
-	DRM_IOCTL_DEF(DRM_IOCTL_MODE_GETCONNECTOR, drm_mode_getconnector, DRM_UNLOCKED),
-	DRM_IOCTL_DEF(DRM_IOCTL_MODE_ATTACHMODE, drm_noop, DRM_MASTER|DRM_UNLOCKED),
-	DRM_IOCTL_DEF(DRM_IOCTL_MODE_DETACHMODE, drm_noop, DRM_MASTER|DRM_UNLOCKED),
-	DRM_IOCTL_DEF(DRM_IOCTL_MODE_GETPROPERTY, drm_mode_getproperty_ioctl, DRM_UNLOCKED),
-	DRM_IOCTL_DEF(DRM_IOCTL_MODE_SETPROPERTY, drm_connector_property_set_ioctl, DRM_MASTER|DRM_UNLOCKED),
-	DRM_IOCTL_DEF(DRM_IOCTL_MODE_GETPROPBLOB, drm_mode_getblob_ioctl, DRM_UNLOCKED),
-	DRM_IOCTL_DEF(DRM_IOCTL_MODE_GETFB, drm_mode_getfb, DRM_UNLOCKED),
-	DRM_IOCTL_DEF(DRM_IOCTL_MODE_ADDFB, drm_mode_addfb_ioctl, DRM_UNLOCKED),
-	DRM_IOCTL_DEF(DRM_IOCTL_MODE_ADDFB2, drm_mode_addfb2_ioctl, DRM_UNLOCKED),
-	DRM_IOCTL_DEF(DRM_IOCTL_MODE_RMFB, drm_mode_rmfb_ioctl, DRM_UNLOCKED),
-	DRM_IOCTL_DEF(DRM_IOCTL_MODE_PAGE_FLIP, drm_mode_page_flip_ioctl, DRM_MASTER|DRM_UNLOCKED),
-	DRM_IOCTL_DEF(DRM_IOCTL_MODE_DIRTYFB, drm_mode_dirtyfb_ioctl, DRM_MASTER|DRM_UNLOCKED),
-	DRM_IOCTL_DEF(DRM_IOCTL_MODE_CREATE_DUMB, drm_mode_create_dumb_ioctl, DRM_UNLOCKED),
-	DRM_IOCTL_DEF(DRM_IOCTL_MODE_MAP_DUMB, drm_mode_mmap_dumb_ioctl, DRM_UNLOCKED),
-	DRM_IOCTL_DEF(DRM_IOCTL_MODE_DESTROY_DUMB, drm_mode_destroy_dumb_ioctl, DRM_UNLOCKED),
-	DRM_IOCTL_DEF(DRM_IOCTL_MODE_OBJ_GETPROPERTIES, drm_mode_obj_get_properties_ioctl, DRM_UNLOCKED),
-	DRM_IOCTL_DEF(DRM_IOCTL_MODE_OBJ_SETPROPERTY, drm_mode_obj_set_property_ioctl, DRM_MASTER|DRM_UNLOCKED),
-	DRM_IOCTL_DEF(DRM_IOCTL_MODE_CURSOR2, drm_mode_cursor2_ioctl, DRM_MASTER|DRM_UNLOCKED),
-	DRM_IOCTL_DEF(DRM_IOCTL_MODE_ATOMIC, drm_mode_atomic_ioctl, DRM_MASTER|DRM_UNLOCKED),
-	DRM_IOCTL_DEF(DRM_IOCTL_MODE_CREATEPROPBLOB, drm_mode_createblob_ioctl, DRM_UNLOCKED),
-	DRM_IOCTL_DEF(DRM_IOCTL_MODE_DESTROYPROPBLOB, drm_mode_destroyblob_ioctl, DRM_UNLOCKED),
+	DRM_IOCTL_DEF(DRM_IOCTL_GEM_CLOSE, drm_gem_close_ioctl, DRM_RENDER_ALLOW),
+	DRM_IOCTL_DEF(DRM_IOCTL_GEM_FLINK, drm_gem_flink_ioctl, DRM_AUTH),
+	DRM_IOCTL_DEF(DRM_IOCTL_GEM_OPEN, drm_gem_open_ioctl, DRM_AUTH),
+
+	DRM_IOCTL_DEF(DRM_IOCTL_MODE_GETRESOURCES, drm_mode_getresources, 0),
+
+	DRM_IOCTL_DEF(DRM_IOCTL_PRIME_HANDLE_TO_FD, drm_prime_handle_to_fd_ioctl, DRM_AUTH|DRM_RENDER_ALLOW),
+	DRM_IOCTL_DEF(DRM_IOCTL_PRIME_FD_TO_HANDLE, drm_prime_fd_to_handle_ioctl, DRM_AUTH|DRM_RENDER_ALLOW),
+
+	DRM_IOCTL_DEF(DRM_IOCTL_MODE_GETPLANERESOURCES, drm_mode_getplane_res, 0),
+	DRM_IOCTL_DEF(DRM_IOCTL_MODE_GETCRTC, drm_mode_getcrtc, 0),
+	DRM_IOCTL_DEF(DRM_IOCTL_MODE_SETCRTC, drm_mode_setcrtc, DRM_MASTER),
+	DRM_IOCTL_DEF(DRM_IOCTL_MODE_GETPLANE, drm_mode_getplane, 0),
+	DRM_IOCTL_DEF(DRM_IOCTL_MODE_SETPLANE, drm_mode_setplane, DRM_MASTER),
+	DRM_IOCTL_DEF(DRM_IOCTL_MODE_CURSOR, drm_mode_cursor_ioctl, DRM_MASTER),
+	DRM_IOCTL_DEF(DRM_IOCTL_MODE_GETGAMMA, drm_mode_gamma_get_ioctl, 0),
+	DRM_IOCTL_DEF(DRM_IOCTL_MODE_SETGAMMA, drm_mode_gamma_set_ioctl, DRM_MASTER),
+	DRM_IOCTL_DEF(DRM_IOCTL_MODE_GETENCODER, drm_mode_getencoder, 0),
+	DRM_IOCTL_DEF(DRM_IOCTL_MODE_GETCONNECTOR, drm_mode_getconnector, 0),
+	DRM_IOCTL_DEF(DRM_IOCTL_MODE_ATTACHMODE, drm_noop, DRM_MASTER),
+	DRM_IOCTL_DEF(DRM_IOCTL_MODE_DETACHMODE, drm_noop, DRM_MASTER),
+	DRM_IOCTL_DEF(DRM_IOCTL_MODE_GETPROPERTY, drm_mode_getproperty_ioctl, 0),
+	DRM_IOCTL_DEF(DRM_IOCTL_MODE_SETPROPERTY, drm_connector_property_set_ioctl, DRM_MASTER),
+	DRM_IOCTL_DEF(DRM_IOCTL_MODE_GETPROPBLOB, drm_mode_getblob_ioctl, 0),
+	DRM_IOCTL_DEF(DRM_IOCTL_MODE_GETFB, drm_mode_getfb, 0),
+	DRM_IOCTL_DEF(DRM_IOCTL_MODE_ADDFB, drm_mode_addfb_ioctl, 0),
+	DRM_IOCTL_DEF(DRM_IOCTL_MODE_ADDFB2, drm_mode_addfb2_ioctl, 0),
+	DRM_IOCTL_DEF(DRM_IOCTL_MODE_RMFB, drm_mode_rmfb_ioctl, 0),
+	DRM_IOCTL_DEF(DRM_IOCTL_MODE_PAGE_FLIP, drm_mode_page_flip_ioctl, DRM_MASTER),
+	DRM_IOCTL_DEF(DRM_IOCTL_MODE_DIRTYFB, drm_mode_dirtyfb_ioctl, DRM_MASTER),
+	DRM_IOCTL_DEF(DRM_IOCTL_MODE_CREATE_DUMB, drm_mode_create_dumb_ioctl, 0),
+	DRM_IOCTL_DEF(DRM_IOCTL_MODE_MAP_DUMB, drm_mode_mmap_dumb_ioctl, 0),
+	DRM_IOCTL_DEF(DRM_IOCTL_MODE_DESTROY_DUMB, drm_mode_destroy_dumb_ioctl, 0),
+	DRM_IOCTL_DEF(DRM_IOCTL_MODE_OBJ_GETPROPERTIES, drm_mode_obj_get_properties_ioctl, 0),
+	DRM_IOCTL_DEF(DRM_IOCTL_MODE_OBJ_SETPROPERTY, drm_mode_obj_set_property_ioctl, DRM_MASTER),
+	DRM_IOCTL_DEF(DRM_IOCTL_MODE_CURSOR2, drm_mode_cursor2_ioctl, DRM_MASTER),
+	DRM_IOCTL_DEF(DRM_IOCTL_MODE_ATOMIC, drm_mode_atomic_ioctl, DRM_MASTER),
+	DRM_IOCTL_DEF(DRM_IOCTL_MODE_CREATEPROPBLOB, drm_mode_createblob_ioctl, 0),
+	DRM_IOCTL_DEF(DRM_IOCTL_MODE_DESTROYPROPBLOB, drm_mode_destroyblob_ioctl, 0),
 
 	DRM_IOCTL_DEF(DRM_IOCTL_SYNCOBJ_CREATE, drm_syncobj_create_ioctl,
-		      DRM_UNLOCKED|DRM_RENDER_ALLOW),
+		      DRM_RENDER_ALLOW),
 	DRM_IOCTL_DEF(DRM_IOCTL_SYNCOBJ_DESTROY, drm_syncobj_destroy_ioctl,
-		      DRM_UNLOCKED|DRM_RENDER_ALLOW),
+		      DRM_RENDER_ALLOW),
 	DRM_IOCTL_DEF(DRM_IOCTL_SYNCOBJ_HANDLE_TO_FD, drm_syncobj_handle_to_fd_ioctl,
-		      DRM_UNLOCKED|DRM_RENDER_ALLOW),
+		      DRM_RENDER_ALLOW),
 	DRM_IOCTL_DEF(DRM_IOCTL_SYNCOBJ_FD_TO_HANDLE, drm_syncobj_fd_to_handle_ioctl,
-		      DRM_UNLOCKED|DRM_RENDER_ALLOW),
+		      DRM_RENDER_ALLOW),
 	DRM_IOCTL_DEF(DRM_IOCTL_SYNCOBJ_TRANSFER, drm_syncobj_transfer_ioctl,
-		      DRM_UNLOCKED|DRM_RENDER_ALLOW),
+		      DRM_RENDER_ALLOW),
 	DRM_IOCTL_DEF(DRM_IOCTL_SYNCOBJ_WAIT, drm_syncobj_wait_ioctl,
-		      DRM_UNLOCKED|DRM_RENDER_ALLOW),
+		      DRM_RENDER_ALLOW),
 	DRM_IOCTL_DEF(DRM_IOCTL_SYNCOBJ_TIMELINE_WAIT, drm_syncobj_timeline_wait_ioctl,
-		      DRM_UNLOCKED|DRM_RENDER_ALLOW),
+		      DRM_RENDER_ALLOW),
 	DRM_IOCTL_DEF(DRM_IOCTL_SYNCOBJ_RESET, drm_syncobj_reset_ioctl,
-		      DRM_UNLOCKED|DRM_RENDER_ALLOW),
+		      DRM_RENDER_ALLOW),
 	DRM_IOCTL_DEF(DRM_IOCTL_SYNCOBJ_SIGNAL, drm_syncobj_signal_ioctl,
-		      DRM_UNLOCKED|DRM_RENDER_ALLOW),
+		      DRM_RENDER_ALLOW),
 	DRM_IOCTL_DEF(DRM_IOCTL_SYNCOBJ_TIMELINE_SIGNAL, drm_syncobj_timeline_signal_ioctl,
-		      DRM_UNLOCKED|DRM_RENDER_ALLOW),
+		      DRM_RENDER_ALLOW),
 	DRM_IOCTL_DEF(DRM_IOCTL_SYNCOBJ_QUERY, drm_syncobj_query_ioctl,
-		      DRM_UNLOCKED|DRM_RENDER_ALLOW),
-	DRM_IOCTL_DEF(DRM_IOCTL_CRTC_GET_SEQUENCE, drm_crtc_get_sequence_ioctl, DRM_UNLOCKED),
-	DRM_IOCTL_DEF(DRM_IOCTL_CRTC_QUEUE_SEQUENCE, drm_crtc_queue_sequence_ioctl, DRM_UNLOCKED),
-	DRM_IOCTL_DEF(DRM_IOCTL_MODE_CREATE_LEASE, drm_mode_create_lease_ioctl, DRM_MASTER|DRM_UNLOCKED),
-	DRM_IOCTL_DEF(DRM_IOCTL_MODE_LIST_LESSEES, drm_mode_list_lessees_ioctl, DRM_MASTER|DRM_UNLOCKED),
-	DRM_IOCTL_DEF(DRM_IOCTL_MODE_GET_LEASE, drm_mode_get_lease_ioctl, DRM_MASTER|DRM_UNLOCKED),
-	DRM_IOCTL_DEF(DRM_IOCTL_MODE_REVOKE_LEASE, drm_mode_revoke_lease_ioctl, DRM_MASTER|DRM_UNLOCKED),
+		      DRM_RENDER_ALLOW),
+	DRM_IOCTL_DEF(DRM_IOCTL_CRTC_GET_SEQUENCE, drm_crtc_get_sequence_ioctl, 0),
+	DRM_IOCTL_DEF(DRM_IOCTL_CRTC_QUEUE_SEQUENCE, drm_crtc_queue_sequence_ioctl, 0),
+	DRM_IOCTL_DEF(DRM_IOCTL_MODE_CREATE_LEASE, drm_mode_create_lease_ioctl, DRM_MASTER),
+	DRM_IOCTL_DEF(DRM_IOCTL_MODE_LIST_LESSEES, drm_mode_list_lessees_ioctl, DRM_MASTER),
+	DRM_IOCTL_DEF(DRM_IOCTL_MODE_GET_LEASE, drm_mode_get_lease_ioctl, DRM_MASTER),
+	DRM_IOCTL_DEF(DRM_IOCTL_MODE_REVOKE_LEASE, drm_mode_revoke_lease_ioctl, DRM_MASTER),
 };
 
 #define DRM_CORE_IOCTL_COUNT	ARRAY_SIZE( drm_ioctls )
@@ -777,7 +776,7 @@ long drm_ioctl_kernel(struct file *file, drm_ioctl_t *func, void *kdata,
 		return retcode;
 
 	/* Enforce sane locking for modern driver ioctls. */
-	if (!drm_core_check_feature(dev, DRIVER_LEGACY) ||
+	if (likely(!drm_core_check_feature(dev, DRIVER_LEGACY)) ||
 	    (flags & DRM_UNLOCKED))
 		retcode = func(dev, kdata, file_priv);
 	else {
diff --git a/include/drm/drm_ioctl.h b/include/drm/drm_ioctl.h
index fafb6f592c4b..10100a4bbe2a 100644
--- a/include/drm/drm_ioctl.h
+++ b/include/drm/drm_ioctl.h
@@ -114,6 +114,9 @@ enum drm_ioctl_flags {
 	 * Whether &drm_ioctl_desc.func should be called with the DRM BKL held
 	 * or not. Enforced as the default for all modern drivers, hence there
 	 * should never be a need to set this flag.
+	 *
+	 * Do not use anywhere else than for the VBLANK_WAIT IOCTL, which is the
+	 * only legacy IOCTL which needs this.
 	 */
 	DRM_UNLOCKED		= BIT(4),
 	/**
-- 
2.20.1

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

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* ✗ Fi.CI.CHECKPATCH: warning for drm/ioctl: Ditch DRM_UNLOCKED except for the legacy vblank ioctl (rev2)
  2019-05-29  9:30 [PATCH] drm/ioctl: Ditch DRM_UNLOCKED except for the legacy vblank ioctl Daniel Vetter
                   ` (6 preceding siblings ...)
  2019-06-05 12:08 ` Daniel Vetter
@ 2019-06-05 14:12 ` Patchwork
  2019-06-05 14:30 ` ✓ Fi.CI.BAT: success " Patchwork
  2019-06-07  0:54 ` ✓ Fi.CI.IGT: " Patchwork
  9 siblings, 0 replies; 15+ messages in thread
From: Patchwork @ 2019-06-05 14:12 UTC (permalink / raw)
  To: Daniel Vetter; +Cc: intel-gfx

== Series Details ==

Series: drm/ioctl: Ditch DRM_UNLOCKED except for the legacy vblank ioctl (rev2)
URL   : https://patchwork.freedesktop.org/series/61299/
State : warning

== Summary ==

$ dim checkpatch origin/drm-tip
b69c7ced5090 drm/ioctl: Ditch DRM_UNLOCKED except for the legacy vblank ioctl
-:14: ERROR:GIT_COMMIT_ID: Please use git commit description style 'commit <12+ chars of sha1> ("<title line>")' - ie: 'commit ea487835e887 ("drm: Enforce unlocked ioctl operation for kms driver ioctls")'
#14: 
commit ea487835e8876abf7ad909636e308c801a2bcda6

-:24: ERROR:GIT_COMMIT_ID: Please use git commit description style 'commit <12+ chars of sha1> ("<title line>")' - ie: 'commit ed8b67040965 ("drm: convert drm_ioctl to unlocked_ioctl")'
#24: 
commit ed8b67040965e4fe695db333d5914e18ea5f146f

-:42: ERROR:GIT_COMMIT_ID: Please use git commit description style 'commit <12+ chars of sha1> ("<title line>")' - ie: 'commit 8f4ff2b06afc ("drm: do not sleep on vblank while holding a mutex")'
#42: 
commit 8f4ff2b06afcd6f151868474a432c603057eaf56

-:52: ERROR:GIT_COMMIT_ID: Please use git commit description style 'commit <12+ chars of sha1> ("<title line>")' - ie: 'commit fdd5b877e9eb ("drm: Enforce BKL-less ioctls for modern drivers")'
#52: 
commit fdd5b877e9ebc2029e1373b4a3cd057329a9ab7a

-:231: WARNING:LONG_LINE: line over 100 characters
#231: FILE: drivers/gpu/drm/drm_ioctl.c:650:
+	DRM_IOCTL_DEF(DRM_IOCTL_PRIME_HANDLE_TO_FD, drm_prime_handle_to_fd_ioctl, DRM_AUTH|DRM_RENDER_ALLOW),

-:231: CHECK:SPACING: spaces preferred around that '|' (ctx:VxV)
#231: FILE: drivers/gpu/drm/drm_ioctl.c:650:
+	DRM_IOCTL_DEF(DRM_IOCTL_PRIME_HANDLE_TO_FD, drm_prime_handle_to_fd_ioctl, DRM_AUTH|DRM_RENDER_ALLOW),
 	                                                                                  ^

-:232: WARNING:LONG_LINE: line over 100 characters
#232: FILE: drivers/gpu/drm/drm_ioctl.c:651:
+	DRM_IOCTL_DEF(DRM_IOCTL_PRIME_FD_TO_HANDLE, drm_prime_fd_to_handle_ioctl, DRM_AUTH|DRM_RENDER_ALLOW),

-:232: CHECK:SPACING: spaces preferred around that '|' (ctx:VxV)
#232: FILE: drivers/gpu/drm/drm_ioctl.c:651:
+	DRM_IOCTL_DEF(DRM_IOCTL_PRIME_FD_TO_HANDLE, drm_prime_fd_to_handle_ioctl, DRM_AUTH|DRM_RENDER_ALLOW),
 	                                                                                  ^

-:335: WARNING:NO_AUTHOR_SIGN_OFF: Missing Signed-off-by: line by nominal patch author 'Daniel Vetter <daniel.vetter@ffwll.ch>'

total: 4 errors, 3 warnings, 2 checks, 240 lines checked

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

^ permalink raw reply	[flat|nested] 15+ messages in thread

* ✓ Fi.CI.BAT: success for drm/ioctl: Ditch DRM_UNLOCKED except for the legacy vblank ioctl (rev2)
  2019-05-29  9:30 [PATCH] drm/ioctl: Ditch DRM_UNLOCKED except for the legacy vblank ioctl Daniel Vetter
                   ` (7 preceding siblings ...)
  2019-06-05 14:12 ` ✗ Fi.CI.CHECKPATCH: warning for drm/ioctl: Ditch DRM_UNLOCKED except for the legacy vblank ioctl (rev2) Patchwork
@ 2019-06-05 14:30 ` Patchwork
  2019-06-07  0:54 ` ✓ Fi.CI.IGT: " Patchwork
  9 siblings, 0 replies; 15+ messages in thread
From: Patchwork @ 2019-06-05 14:30 UTC (permalink / raw)
  To: Daniel Vetter; +Cc: intel-gfx

== Series Details ==

Series: drm/ioctl: Ditch DRM_UNLOCKED except for the legacy vblank ioctl (rev2)
URL   : https://patchwork.freedesktop.org/series/61299/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6195 -> Patchwork_13178
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13178/

Known issues
------------

  Here are the changes found in Patchwork_13178 that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@kms_cursor_legacy@basic-flip-before-cursor-atomic:
    - fi-icl-u3:          [PASS][1] -> [DMESG-WARN][2] ([fdo#107724]) +2 similar issues
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6195/fi-icl-u3/igt@kms_cursor_legacy@basic-flip-before-cursor-atomic.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13178/fi-icl-u3/igt@kms_cursor_legacy@basic-flip-before-cursor-atomic.html

  
#### Possible fixes ####

  * igt@prime_vgem@basic-fence-flip:
    - fi-icl-u3:          [DMESG-WARN][3] ([fdo#107724]) -> [PASS][4] +1 similar issue
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6195/fi-icl-u3/igt@prime_vgem@basic-fence-flip.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13178/fi-icl-u3/igt@prime_vgem@basic-fence-flip.html

  
#### Warnings ####

  * igt@kms_frontbuffer_tracking@basic:
    - fi-icl-u3:          [FAIL][5] ([fdo#103167]) -> [DMESG-FAIL][6] ([fdo#103167] / [fdo#107724])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6195/fi-icl-u3/igt@kms_frontbuffer_tracking@basic.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13178/fi-icl-u3/igt@kms_frontbuffer_tracking@basic.html

  
  [fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
  [fdo#107724]: https://bugs.freedesktop.org/show_bug.cgi?id=107724


Participating hosts (52 -> 43)
------------------------------

  Missing    (9): fi-ilk-m540 fi-hsw-4200u fi-hsw-peppy fi-byt-squawks fi-bsw-cyan fi-icl-y fi-kbl-7560u fi-byt-clapper fi-bdw-samus 


Build changes
-------------

  * Linux: CI_DRM_6195 -> Patchwork_13178

  CI_DRM_6195: 06b71939f2477c76f9eecb1dd5e99dcb25cb8371 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_5039: 2d4f470bba1cb51ed116fb80b170f717c6294714 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_13178: b69c7ced50903ace5eabde3d4a13c30ffb2400d7 @ git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

b69c7ced5090 drm/ioctl: Ditch DRM_UNLOCKED except for the legacy vblank ioctl

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13178/
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 15+ messages in thread

* ✓ Fi.CI.IGT: success for drm/ioctl: Ditch DRM_UNLOCKED except for the legacy vblank ioctl (rev2)
  2019-05-29  9:30 [PATCH] drm/ioctl: Ditch DRM_UNLOCKED except for the legacy vblank ioctl Daniel Vetter
                   ` (8 preceding siblings ...)
  2019-06-05 14:30 ` ✓ Fi.CI.BAT: success " Patchwork
@ 2019-06-07  0:54 ` Patchwork
  9 siblings, 0 replies; 15+ messages in thread
From: Patchwork @ 2019-06-07  0:54 UTC (permalink / raw)
  To: Daniel Vetter; +Cc: intel-gfx

== Series Details ==

Series: drm/ioctl: Ditch DRM_UNLOCKED except for the legacy vblank ioctl (rev2)
URL   : https://patchwork.freedesktop.org/series/61299/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6195_full -> Patchwork_13178_full
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  

Possible new issues
-------------------

  Here are the unknown changes that may have been introduced in Patchwork_13178_full:

### IGT changes ###

#### Suppressed ####

  The following results come from untrusted machines, tests, or statuses.
  They do not affect the overall result.

  * {igt@gem_exec_balancer@bonded-cork}:
    - shard-iclb:         [PASS][1] -> [FAIL][2]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6195/shard-iclb6/igt@gem_exec_balancer@bonded-cork.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13178/shard-iclb2/igt@gem_exec_balancer@bonded-cork.html

  
Known issues
------------

  Here are the changes found in Patchwork_13178_full that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@gem_exec_basic@basic-vcs0:
    - shard-apl:          [PASS][3] -> [INCOMPLETE][4] ([fdo#103927])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6195/shard-apl4/igt@gem_exec_basic@basic-vcs0.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13178/shard-apl7/igt@gem_exec_basic@basic-vcs0.html

  * igt@gem_mmap_gtt@hang:
    - shard-iclb:         [PASS][5] -> [FAIL][6] ([fdo#109677])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6195/shard-iclb3/igt@gem_mmap_gtt@hang.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13178/shard-iclb5/igt@gem_mmap_gtt@hang.html

  * igt@gem_tiled_swapping@non-threaded:
    - shard-glk:          [PASS][7] -> [DMESG-WARN][8] ([fdo#108686])
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6195/shard-glk3/igt@gem_tiled_swapping@non-threaded.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13178/shard-glk9/igt@gem_tiled_swapping@non-threaded.html

  * igt@kms_color@pipe-a-ctm-0-25:
    - shard-skl:          [PASS][9] -> [FAIL][10] ([fdo#108682])
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6195/shard-skl6/igt@kms_color@pipe-a-ctm-0-25.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13178/shard-skl2/igt@kms_color@pipe-a-ctm-0-25.html

  * igt@kms_draw_crc@draw-method-rgb565-mmap-cpu-xtiled:
    - shard-skl:          [PASS][11] -> [FAIL][12] ([fdo#103184] / [fdo#103232])
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6195/shard-skl6/igt@kms_draw_crc@draw-method-rgb565-mmap-cpu-xtiled.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13178/shard-skl2/igt@kms_draw_crc@draw-method-rgb565-mmap-cpu-xtiled.html

  * igt@kms_flip@2x-flip-vs-dpms-off-vs-modeset:
    - shard-hsw:          [PASS][13] -> [SKIP][14] ([fdo#109271]) +32 similar issues
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6195/shard-hsw8/igt@kms_flip@2x-flip-vs-dpms-off-vs-modeset.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13178/shard-hsw1/igt@kms_flip@2x-flip-vs-dpms-off-vs-modeset.html

  * igt@kms_flip@2x-modeset-vs-vblank-race-interruptible:
    - shard-glk:          [PASS][15] -> [FAIL][16] ([fdo#103060])
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6195/shard-glk2/igt@kms_flip@2x-modeset-vs-vblank-race-interruptible.html
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13178/shard-glk4/igt@kms_flip@2x-modeset-vs-vblank-race-interruptible.html

  * igt@kms_flip@flip-vs-expired-vblank-interruptible:
    - shard-skl:          [PASS][17] -> [FAIL][18] ([fdo#105363])
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6195/shard-skl4/igt@kms_flip@flip-vs-expired-vblank-interruptible.html
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13178/shard-skl5/igt@kms_flip@flip-vs-expired-vblank-interruptible.html

  * igt@kms_flip@flip-vs-suspend:
    - shard-skl:          [PASS][19] -> [INCOMPLETE][20] ([fdo#109507])
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6195/shard-skl6/igt@kms_flip@flip-vs-suspend.html
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13178/shard-skl10/igt@kms_flip@flip-vs-suspend.html

  * igt@kms_frontbuffer_tracking@fbc-rgb565-draw-pwrite:
    - shard-iclb:         [PASS][21] -> [FAIL][22] ([fdo#103167]) +6 similar issues
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6195/shard-iclb7/igt@kms_frontbuffer_tracking@fbc-rgb565-draw-pwrite.html
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13178/shard-iclb6/igt@kms_frontbuffer_tracking@fbc-rgb565-draw-pwrite.html

  * igt@kms_plane@plane-panning-bottom-right-suspend-pipe-a-planes:
    - shard-apl:          [PASS][23] -> [DMESG-WARN][24] ([fdo#108566]) +1 similar issue
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6195/shard-apl8/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-a-planes.html
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13178/shard-apl1/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-a-planes.html

  * igt@kms_plane_alpha_blend@pipe-b-coverage-7efc:
    - shard-skl:          [PASS][25] -> [FAIL][26] ([fdo#108145] / [fdo#110403])
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6195/shard-skl4/igt@kms_plane_alpha_blend@pipe-b-coverage-7efc.html
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13178/shard-skl1/igt@kms_plane_alpha_blend@pipe-b-coverage-7efc.html

  * igt@kms_psr@psr2_primary_render:
    - shard-iclb:         [PASS][27] -> [SKIP][28] ([fdo#109441])
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6195/shard-iclb2/igt@kms_psr@psr2_primary_render.html
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13178/shard-iclb6/igt@kms_psr@psr2_primary_render.html

  * igt@kms_setmode@basic:
    - shard-kbl:          [PASS][29] -> [FAIL][30] ([fdo#99912])
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6195/shard-kbl3/igt@kms_setmode@basic.html
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13178/shard-kbl7/igt@kms_setmode@basic.html

  * igt@kms_sysfs_edid_timing:
    - shard-hsw:          [PASS][31] -> [FAIL][32] ([fdo#100047])
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6195/shard-hsw4/igt@kms_sysfs_edid_timing.html
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13178/shard-hsw1/igt@kms_sysfs_edid_timing.html

  * igt@kms_vblank@pipe-c-query-busy-hang:
    - shard-hsw:          [PASS][33] -> [INCOMPLETE][34] ([fdo#103540])
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6195/shard-hsw4/igt@kms_vblank@pipe-c-query-busy-hang.html
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13178/shard-hsw8/igt@kms_vblank@pipe-c-query-busy-hang.html

  
#### Possible fixes ####

  * igt@gem_ctx_isolation@vecs0-s3:
    - shard-apl:          [DMESG-WARN][35] ([fdo#108566]) -> [PASS][36] +1 similar issue
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6195/shard-apl1/igt@gem_ctx_isolation@vecs0-s3.html
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13178/shard-apl3/igt@gem_ctx_isolation@vecs0-s3.html

  * igt@gem_tiled_swapping@non-threaded:
    - shard-apl:          [DMESG-WARN][37] ([fdo#108686]) -> [PASS][38]
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6195/shard-apl2/igt@gem_tiled_swapping@non-threaded.html
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13178/shard-apl5/igt@gem_tiled_swapping@non-threaded.html

  * igt@i915_pm_backlight@fade_with_suspend:
    - shard-skl:          [INCOMPLETE][39] ([fdo#104108]) -> [PASS][40]
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6195/shard-skl7/igt@i915_pm_backlight@fade_with_suspend.html
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13178/shard-skl10/igt@i915_pm_backlight@fade_with_suspend.html

  * igt@i915_pm_rpm@system-suspend-execbuf:
    - shard-skl:          [INCOMPLETE][41] ([fdo#104108] / [fdo#107807]) -> [PASS][42]
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6195/shard-skl9/igt@i915_pm_rpm@system-suspend-execbuf.html
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13178/shard-skl4/igt@i915_pm_rpm@system-suspend-execbuf.html

  * igt@kms_flip@flip-vs-suspend:
    - shard-kbl:          [INCOMPLETE][43] ([fdo#103665]) -> [PASS][44]
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6195/shard-kbl6/igt@kms_flip@flip-vs-suspend.html
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13178/shard-kbl7/igt@kms_flip@flip-vs-suspend.html

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-onoff:
    - shard-iclb:         [FAIL][45] ([fdo#103167]) -> [PASS][46] +1 similar issue
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6195/shard-iclb2/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-onoff.html
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13178/shard-iclb8/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-onoff.html

  * igt@kms_frontbuffer_tracking@fbc-1p-rte:
    - shard-iclb:         [FAIL][47] ([fdo#103167] / [fdo#110378]) -> [PASS][48]
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6195/shard-iclb7/igt@kms_frontbuffer_tracking@fbc-1p-rte.html
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13178/shard-iclb6/igt@kms_frontbuffer_tracking@fbc-1p-rte.html

  * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-cur-indfb-draw-pwrite:
    - shard-hsw:          [SKIP][49] ([fdo#109271]) -> [PASS][50] +18 similar issues
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6195/shard-hsw1/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-cur-indfb-draw-pwrite.html
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13178/shard-hsw7/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-cur-indfb-draw-pwrite.html

  * igt@kms_plane_alpha_blend@pipe-c-coverage-7efc:
    - shard-skl:          [FAIL][51] ([fdo#108145] / [fdo#110403]) -> [PASS][52]
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6195/shard-skl7/igt@kms_plane_alpha_blend@pipe-c-coverage-7efc.html
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13178/shard-skl9/igt@kms_plane_alpha_blend@pipe-c-coverage-7efc.html

  * igt@kms_psr2_su@page_flip:
    - shard-iclb:         [SKIP][53] ([fdo#109642]) -> [PASS][54]
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6195/shard-iclb1/igt@kms_psr2_su@page_flip.html
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13178/shard-iclb2/igt@kms_psr2_su@page_flip.html

  * igt@kms_psr@psr2_sprite_render:
    - shard-iclb:         [SKIP][55] ([fdo#109441]) -> [PASS][56]
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6195/shard-iclb6/igt@kms_psr@psr2_sprite_render.html
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13178/shard-iclb2/igt@kms_psr@psr2_sprite_render.html

  * igt@kms_setmode@basic:
    - shard-apl:          [FAIL][57] ([fdo#99912]) -> [PASS][58]
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6195/shard-apl8/igt@kms_setmode@basic.html
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13178/shard-apl1/igt@kms_setmode@basic.html

  
#### Warnings ####

  * igt@kms_frontbuffer_tracking@fbcpsr-suspend:
    - shard-skl:          [FAIL][59] ([fdo#108040]) -> [FAIL][60] ([fdo#103167]) +1 similar issue
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6195/shard-skl6/igt@kms_frontbuffer_tracking@fbcpsr-suspend.html
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13178/shard-skl2/igt@kms_frontbuffer_tracking@fbcpsr-suspend.html

  
  {name}: This element is suppressed. This means it is ignored when computing
          the status of the difference (SUCCESS, WARNING, or FAILURE).

  [fdo#100047]: https://bugs.freedesktop.org/show_bug.cgi?id=100047
  [fdo#103060]: https://bugs.freedesktop.org/show_bug.cgi?id=103060
  [fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
  [fdo#103184]: https://bugs.freedesktop.org/show_bug.cgi?id=103184
  [fdo#103232]: https://bugs.freedesktop.org/show_bug.cgi?id=103232
  [fdo#103540]: https://bugs.freedesktop.org/show_bug.cgi?id=103540
  [fdo#103665]: https://bugs.freedesktop.org/show_bug.cgi?id=103665
  [fdo#103927]: https://bugs.freedesktop.org/show_bug.cgi?id=103927
  [fdo#104108]: https://bugs.freedesktop.org/show_bug.cgi?id=104108
  [fdo#105363]: https://bugs.freedesktop.org/show_bug.cgi?id=105363
  [fdo#107807]: https://bugs.freedesktop.org/show_bug.cgi?id=107807
  [fdo#108040]: https://bugs.freedesktop.org/show_bug.cgi?id=108040
  [fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145
  [fdo#108566]: https://bugs.freedesktop.org/show_bug.cgi?id=108566
  [fdo#108682]: https://bugs.freedesktop.org/show_bug.cgi?id=108682
  [fdo#108686]: https://bugs.freedesktop.org/show_bug.cgi?id=108686
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441
  [fdo#109507]: https://bugs.freedesktop.org/show_bug.cgi?id=109507
  [fdo#109642]: https://bugs.freedesktop.org/show_bug.cgi?id=109642
  [fdo#109677]: https://bugs.freedesktop.org/show_bug.cgi?id=109677
  [fdo#110378]: https://bugs.freedesktop.org/show_bug.cgi?id=110378
  [fdo#110403]: https://bugs.freedesktop.org/show_bug.cgi?id=110403
  [fdo#99912]: https://bugs.freedesktop.org/show_bug.cgi?id=99912


Participating hosts (10 -> 10)
------------------------------

  No changes in participating hosts


Build changes
-------------

  * Linux: CI_DRM_6195 -> Patchwork_13178

  CI_DRM_6195: 06b71939f2477c76f9eecb1dd5e99dcb25cb8371 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_5039: 2d4f470bba1cb51ed116fb80b170f717c6294714 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_13178: b69c7ced50903ace5eabde3d4a13c30ffb2400d7 @ git://anongit.freedesktop.org/gfx-ci/linux
  piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13178/
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH] drm/ioctl: Ditch DRM_UNLOCKED except for the legacy vblank ioctl
  2019-06-05 12:08 ` Daniel Vetter
@ 2019-06-07 10:24   ` Emil Velikov
  2019-06-14  8:32     ` Daniel Vetter
  2019-06-21 17:13     ` Daniel Vetter
  0 siblings, 2 replies; 15+ messages in thread
From: Emil Velikov @ 2019-06-07 10:24 UTC (permalink / raw)
  To: Daniel Vetter
  Cc: Daniel Vetter, Intel Graphics Development, Michel Dänzer,
	DRI Development

On Wed, 5 Jun 2019 at 13:08, Daniel Vetter <daniel.vetter@ffwll.ch> wrote:
>
> This completes Emil's series of removing DRM_UNLOCKED from modern
> drivers. It's entirely cargo-culted since we ignore it on
> non-DRIVER_LEGACY drivers since:
>
> commit ea487835e8876abf7ad909636e308c801a2bcda6
> Author: Daniel Vetter <daniel.vetter@ffwll.ch>
> Date:   Mon Sep 28 21:42:40 2015 +0200
>
>     drm: Enforce unlocked ioctl operation for kms driver ioctls
>
> Now justifying why we can do this for legacy drives too (and hence
> close the source of all the bogus copypasting) is a bit more involved.
> DRM_UNLOCKED was introduced in:
>
> commit ed8b67040965e4fe695db333d5914e18ea5f146f
> Author: Arnd Bergmann <arnd@arndb.de>
> Date:   Wed Dec 16 22:17:09 2009 +0000
>
>     drm: convert drm_ioctl to unlocked_ioctl
>
> As a immediate hack to keep i810 happy, which would have deadlocked
> without this trickery. The old BKL is automatically dropped in
> schedule(), and hence the i810 vs. mmap_sem deadlock didn't actually
> cause a real deadlock. But with a mutex it would. The solution was to
> annotate these as DRM_UNLOCKED and mark i810 unsafe on SMP machines.
>
> This conversion caused a regression, because unlike the BKL a mutex
> isn't dropped over schedule (that thing again), which caused a vblank
> wait in one thread to block the entire desktop and all its apps. Back
> then we did vblank scheduling by blocking in the client, awesome isn't
> it. This was fixed quickly in (ok not so quickly, took 2 years):
>
> commit 8f4ff2b06afcd6f151868474a432c603057eaf56
> Author: Ilija Hadzic <ihadzic@research.bell-labs.com>
> Date:   Mon Oct 31 17:46:18 2011 -0400
>
>     drm: do not sleep on vblank while holding a mutex
>
> All the other DRM_UNLOCKED annotations for all the core ioctls was
> work to reach finer-grained locking for modern drivers. This took
> years, and culminated in:
>
> commit fdd5b877e9ebc2029e1373b4a3cd057329a9ab7a
> Author: Daniel Vetter <daniel.vetter@ffwll.ch>
> Date:   Sat Dec 10 22:52:54 2016 +0100
>
>     drm: Enforce BKL-less ioctls for modern drivers
>
> DRM_UNLOCKED was never required by any legacy drivers, except for the
> vblank_wait IOCTL. Therefore we will not regress these old drivers by
> going back to where we've been in 2011. For all modern drivers nothing
> will change.
>
> To make this perfectly clear, also add a comment to DRM_UNLOCKED.
>
> v2: Don't forget about drm_ioc32.c (Michel). Not a source of copypasta
> mistakes when creating driver ioctl tables, but better to be
> consistent.
>
Personally I would omit the "Not a source of copupasta..." note.

> Cc: Michel Dänzer <michel@daenzer.net>
> Cc: Emil Velikov <emil.l.velikov@gmail.com>
> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>

Double-checked that only the VBLACK ioctl retained its annotation and
all other core ioctls are DRM_UNLOCKED free.
Technically with this change UMS drivers will start using a lock on
the listed ioctls. I do not expect this to be a problem and admittedly
I did not audit existing userspace.

That said, the patch looks reasonable:
Acked-by: Emil Velikov <emil.velikov@collabora.com>

Daniel, can you apply any outstanding DRM_UNLOCKED patches from my series?

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

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH] drm/ioctl: Ditch DRM_UNLOCKED except for the legacy vblank ioctl
  2019-06-07 10:24   ` Emil Velikov
@ 2019-06-14  8:32     ` Daniel Vetter
  2019-06-21 17:13     ` Daniel Vetter
  1 sibling, 0 replies; 15+ messages in thread
From: Daniel Vetter @ 2019-06-14  8:32 UTC (permalink / raw)
  To: Emil Velikov
  Cc: Daniel Vetter, Intel Graphics Development, Michel Dänzer,
	DRI Development, Daniel Vetter

On Fri, Jun 07, 2019 at 11:24:01AM +0100, Emil Velikov wrote:
> On Wed, 5 Jun 2019 at 13:08, Daniel Vetter <daniel.vetter@ffwll.ch> wrote:
> >
> > This completes Emil's series of removing DRM_UNLOCKED from modern
> > drivers. It's entirely cargo-culted since we ignore it on
> > non-DRIVER_LEGACY drivers since:
> >
> > commit ea487835e8876abf7ad909636e308c801a2bcda6
> > Author: Daniel Vetter <daniel.vetter@ffwll.ch>
> > Date:   Mon Sep 28 21:42:40 2015 +0200
> >
> >     drm: Enforce unlocked ioctl operation for kms driver ioctls
> >
> > Now justifying why we can do this for legacy drives too (and hence
> > close the source of all the bogus copypasting) is a bit more involved.
> > DRM_UNLOCKED was introduced in:
> >
> > commit ed8b67040965e4fe695db333d5914e18ea5f146f
> > Author: Arnd Bergmann <arnd@arndb.de>
> > Date:   Wed Dec 16 22:17:09 2009 +0000
> >
> >     drm: convert drm_ioctl to unlocked_ioctl
> >
> > As a immediate hack to keep i810 happy, which would have deadlocked
> > without this trickery. The old BKL is automatically dropped in
> > schedule(), and hence the i810 vs. mmap_sem deadlock didn't actually
> > cause a real deadlock. But with a mutex it would. The solution was to
> > annotate these as DRM_UNLOCKED and mark i810 unsafe on SMP machines.
> >
> > This conversion caused a regression, because unlike the BKL a mutex
> > isn't dropped over schedule (that thing again), which caused a vblank
> > wait in one thread to block the entire desktop and all its apps. Back
> > then we did vblank scheduling by blocking in the client, awesome isn't
> > it. This was fixed quickly in (ok not so quickly, took 2 years):
> >
> > commit 8f4ff2b06afcd6f151868474a432c603057eaf56
> > Author: Ilija Hadzic <ihadzic@research.bell-labs.com>
> > Date:   Mon Oct 31 17:46:18 2011 -0400
> >
> >     drm: do not sleep on vblank while holding a mutex
> >
> > All the other DRM_UNLOCKED annotations for all the core ioctls was
> > work to reach finer-grained locking for modern drivers. This took
> > years, and culminated in:
> >
> > commit fdd5b877e9ebc2029e1373b4a3cd057329a9ab7a
> > Author: Daniel Vetter <daniel.vetter@ffwll.ch>
> > Date:   Sat Dec 10 22:52:54 2016 +0100
> >
> >     drm: Enforce BKL-less ioctls for modern drivers
> >
> > DRM_UNLOCKED was never required by any legacy drivers, except for the
> > vblank_wait IOCTL. Therefore we will not regress these old drivers by
> > going back to where we've been in 2011. For all modern drivers nothing
> > will change.
> >
> > To make this perfectly clear, also add a comment to DRM_UNLOCKED.
> >
> > v2: Don't forget about drm_ioc32.c (Michel). Not a source of copypasta
> > mistakes when creating driver ioctl tables, but better to be
> > consistent.
> >
> Personally I would omit the "Not a source of copupasta..." note.
> 
> > Cc: Michel Dänzer <michel@daenzer.net>
> > Cc: Emil Velikov <emil.l.velikov@gmail.com>
> > Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
> 
> Double-checked that only the VBLACK ioctl retained its annotation and
> all other core ioctls are DRM_UNLOCKED free.
> Technically with this change UMS drivers will start using a lock on
> the listed ioctls. I do not expect this to be a problem and admittedly
> I did not audit existing userspace.
> 
> That said, the patch looks reasonable:
> Acked-by: Emil Velikov <emil.velikov@collabora.com>

Anyone else up for acks/reviews?

> Daniel, can you apply any outstanding DRM_UNLOCKED patches from my series?

You have drm-misc commit rights, so I'm assuming you'll push them
yourself.
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH] drm/ioctl: Ditch DRM_UNLOCKED except for the legacy vblank ioctl
  2019-06-07 10:24   ` Emil Velikov
  2019-06-14  8:32     ` Daniel Vetter
@ 2019-06-21 17:13     ` Daniel Vetter
  1 sibling, 0 replies; 15+ messages in thread
From: Daniel Vetter @ 2019-06-21 17:13 UTC (permalink / raw)
  To: Emil Velikov
  Cc: Daniel Vetter, Intel Graphics Development, Michel Dänzer,
	DRI Development, Daniel Vetter

On Fri, Jun 07, 2019 at 11:24:01AM +0100, Emil Velikov wrote:
> On Wed, 5 Jun 2019 at 13:08, Daniel Vetter <daniel.vetter@ffwll.ch> wrote:
> >
> > This completes Emil's series of removing DRM_UNLOCKED from modern
> > drivers. It's entirely cargo-culted since we ignore it on
> > non-DRIVER_LEGACY drivers since:
> >
> > commit ea487835e8876abf7ad909636e308c801a2bcda6
> > Author: Daniel Vetter <daniel.vetter@ffwll.ch>
> > Date:   Mon Sep 28 21:42:40 2015 +0200
> >
> >     drm: Enforce unlocked ioctl operation for kms driver ioctls
> >
> > Now justifying why we can do this for legacy drives too (and hence
> > close the source of all the bogus copypasting) is a bit more involved.
> > DRM_UNLOCKED was introduced in:
> >
> > commit ed8b67040965e4fe695db333d5914e18ea5f146f
> > Author: Arnd Bergmann <arnd@arndb.de>
> > Date:   Wed Dec 16 22:17:09 2009 +0000
> >
> >     drm: convert drm_ioctl to unlocked_ioctl
> >
> > As a immediate hack to keep i810 happy, which would have deadlocked
> > without this trickery. The old BKL is automatically dropped in
> > schedule(), and hence the i810 vs. mmap_sem deadlock didn't actually
> > cause a real deadlock. But with a mutex it would. The solution was to
> > annotate these as DRM_UNLOCKED and mark i810 unsafe on SMP machines.
> >
> > This conversion caused a regression, because unlike the BKL a mutex
> > isn't dropped over schedule (that thing again), which caused a vblank
> > wait in one thread to block the entire desktop and all its apps. Back
> > then we did vblank scheduling by blocking in the client, awesome isn't
> > it. This was fixed quickly in (ok not so quickly, took 2 years):
> >
> > commit 8f4ff2b06afcd6f151868474a432c603057eaf56
> > Author: Ilija Hadzic <ihadzic@research.bell-labs.com>
> > Date:   Mon Oct 31 17:46:18 2011 -0400
> >
> >     drm: do not sleep on vblank while holding a mutex
> >
> > All the other DRM_UNLOCKED annotations for all the core ioctls was
> > work to reach finer-grained locking for modern drivers. This took
> > years, and culminated in:
> >
> > commit fdd5b877e9ebc2029e1373b4a3cd057329a9ab7a
> > Author: Daniel Vetter <daniel.vetter@ffwll.ch>
> > Date:   Sat Dec 10 22:52:54 2016 +0100
> >
> >     drm: Enforce BKL-less ioctls for modern drivers
> >
> > DRM_UNLOCKED was never required by any legacy drivers, except for the
> > vblank_wait IOCTL. Therefore we will not regress these old drivers by
> > going back to where we've been in 2011. For all modern drivers nothing
> > will change.
> >
> > To make this perfectly clear, also add a comment to DRM_UNLOCKED.
> >
> > v2: Don't forget about drm_ioc32.c (Michel). Not a source of copypasta
> > mistakes when creating driver ioctl tables, but better to be
> > consistent.
> >
> Personally I would omit the "Not a source of copupasta..." note.

Done.

> > Cc: Michel Dänzer <michel@daenzer.net>
> > Cc: Emil Velikov <emil.l.velikov@gmail.com>
> > Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
> 
> Double-checked that only the VBLACK ioctl retained its annotation and
> all other core ioctls are DRM_UNLOCKED free.
> Technically with this change UMS drivers will start using a lock on
> the listed ioctls. I do not expect this to be a problem and admittedly
> I did not audit existing userspace.
> 
> That said, the patch looks reasonable:
> Acked-by: Emil Velikov <emil.velikov@collabora.com>

Applied also with Michel's irc ack.
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2019-06-21 17:13 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-05-29  9:30 [PATCH] drm/ioctl: Ditch DRM_UNLOCKED except for the legacy vblank ioctl Daniel Vetter
2019-05-29 14:51 ` ✗ Fi.CI.CHECKPATCH: warning for " Patchwork
2019-05-29 15:30 ` ✓ Fi.CI.BAT: success " Patchwork
2019-05-30  2:32 ` ✓ Fi.CI.IGT: " Patchwork
2019-05-31  8:48 ` ✓ Fi.CI.BAT: " Patchwork
2019-05-31 18:38 ` ✓ Fi.CI.IGT: " Patchwork
2019-06-05 10:50 ` [PATCH] " Michel Dänzer
2019-06-05 11:19   ` Daniel Vetter
2019-06-05 12:08 ` Daniel Vetter
2019-06-07 10:24   ` Emil Velikov
2019-06-14  8:32     ` Daniel Vetter
2019-06-21 17:13     ` Daniel Vetter
2019-06-05 14:12 ` ✗ Fi.CI.CHECKPATCH: warning for drm/ioctl: Ditch DRM_UNLOCKED except for the legacy vblank ioctl (rev2) Patchwork
2019-06-05 14:30 ` ✓ Fi.CI.BAT: success " Patchwork
2019-06-07  0:54 ` ✓ Fi.CI.IGT: " Patchwork

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.