Hi, Dave I realize this is probably too late for the next merge window. If that's the case, then we can just postpone it for 4.21. Mostly code reorganizations and optimizations for vmwgfx. - Move TTM code that's only used by vmwgfx to vmwgfx - Break out the vmwgfx buffer- and resource validation code to a separate source file - Get rid of a number of atomic operations during command buffer validation. The following changes since commit 36c9c3c91128e2b892c9be0dd9ee9bd82cbe82ad: Merge branch 'drm-next-4.20' of git://people.freedesktop.org/~agd5f/linux into drm-next (2018-09-21 09:52:53 +1000) are available in the Git repository at: git://people.freedesktop.org/~thomash/linux vmwgfx-next for you to fetch changes up to e8c66efbfe3a2e3cbc573f2474a3d51690f1b857: drm/vmwgfx: Make user resource lookups reference-free during validation (2018-09-28 08:57:09 +0200) ---------------------------------------------------------------- Thomas Hellstrom (19): drm/ttm, drm/vmwgfx: Move the lock- and object functionality to the vmwgfx driver drm/vmwgfx: Add a validation module v2 drm/vmwgfx: Modify the resource validation interface drm/vmwgfx: Adapt execbuf to the new validation api drm/vmwgfx: Use new validation interface for the modesetting code v2 drm/vmwgfx: Use a validation context allocator for relocations and validations drm/vmwgfx: Reduce the size of buffer object relocations drm/vmwgfx: Replace unconditional mutex unlocked warnings with lockdep counterpart drm/vmwgfx: Remove the resource avail field drm/vmwgfx: Remove the user resource destructor check drm/vmwgfx: Make the object handles idr-generated drm/vmwgfx: Look up objects without taking a reference drm/ttm: Export ttm_bo_get_unless_zero() drm/vmwgfx: Adapt validation code for reference-free lookups drm/vmwgfx: Look up user buffer objects without taking a reference drm/vmwgfx: Make buffer object lookups reference-free during validation drm/vmwgfx: Don't refcount command-buffer managed resource lookups during command buffer validation drm/vmwgfx: Don't refcount cotable lookups during command buffer validation drm/vmwgfx: Make user resource lookups reference-free during validation drivers/gpu/drm/ttm/Makefile | 4 +- drivers/gpu/drm/ttm/ttm_bo_vm.c | 3 +- drivers/gpu/drm/vmwgfx/Makefile | 4 +- drivers/gpu/drm/{ttm => vmwgfx}/ttm_lock.c | 15 +- .../drm/ttm => drivers/gpu/drm/vmwgfx}/ttm_lock.h | 0 drivers/gpu/drm/{ttm => vmwgfx}/ttm_object.c | 97 +- .../ttm => drivers/gpu/drm/vmwgfx}/ttm_object.h | 31 +- drivers/gpu/drm/vmwgfx/vmwgfx_bo.c | 50 +- drivers/gpu/drm/vmwgfx/vmwgfx_cmdbuf.c | 4 +- drivers/gpu/drm/vmwgfx/vmwgfx_cmdbuf_res.c | 3 +- drivers/gpu/drm/vmwgfx/vmwgfx_context.c | 23 +- drivers/gpu/drm/vmwgfx/vmwgfx_cotable.c | 2 +- drivers/gpu/drm/vmwgfx/vmwgfx_drv.c | 4 +- drivers/gpu/drm/vmwgfx/vmwgfx_drv.h | 147 ++- drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c | 1288 ++++++++------------ drivers/gpu/drm/vmwgfx/vmwgfx_fence.c | 7 +- drivers/gpu/drm/vmwgfx/vmwgfx_kms.c | 199 +-- drivers/gpu/drm/vmwgfx/vmwgfx_kms.h | 24 +- drivers/gpu/drm/vmwgfx/vmwgfx_prime.c | 2 +- drivers/gpu/drm/vmwgfx/vmwgfx_resource.c | 124 +- drivers/gpu/drm/vmwgfx/vmwgfx_resource_priv.h | 7 +- drivers/gpu/drm/vmwgfx/vmwgfx_scrn.c | 48 +- drivers/gpu/drm/vmwgfx/vmwgfx_shader.c | 25 +- drivers/gpu/drm/vmwgfx/vmwgfx_simple_resource.c | 7 +- drivers/gpu/drm/vmwgfx/vmwgfx_so.c | 11 +- drivers/gpu/drm/vmwgfx/vmwgfx_stdu.c | 31 +- drivers/gpu/drm/vmwgfx/vmwgfx_surface.c | 20 +- drivers/gpu/drm/vmwgfx/vmwgfx_validation.c | 770 ++++++++++++ drivers/gpu/drm/vmwgfx/vmwgfx_validation.h | 227 ++++ include/drm/ttm/ttm_bo_api.h | 18 + 30 files changed, 1966 insertions(+), 1229 deletions(-) rename drivers/gpu/drm/{ttm => vmwgfx}/ttm_lock.c (94%) rename {include/drm/ttm => drivers/gpu/drm/vmwgfx}/ttm_lock.h (100%) rename drivers/gpu/drm/{ttm => vmwgfx}/ttm_object.c (90%) rename {include/drm/ttm => drivers/gpu/drm/vmwgfx}/ttm_object.h (94%) create mode 100644 drivers/gpu/drm/vmwgfx/vmwgfx_validation.c create mode 100644 drivers/gpu/drm/vmwgfx/vmwgfx_validation.h _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel