The DRM fence list helpers came from needing to fix implicit synchronization on V3D (serious flickering in X11 once you had multiple clients involved), a bug I think I noticed in panfrost, and having recently reviewed lima and liked their model. Compared to lima, I chose to use xarray as the storage, as I think it cleans things up significantly. The last_dep thing is a little gross, but Matthew Wilcox is thinking about giving us an xarray pop function soon that would let us drop that.
Unfortunately, rebasing the V3D side of things to before the job refactor was a bit more work than I was ready for, so I'm resending it and Ccing the Broadcom folks again in the hope that they might be able to review or ack it. I would still accept an ack from anyone willing to do so -- the userspace has been sitting around for a long time at this point, and I'd love to get it merged. Eric Anholt (7): drm/v3d: Switch the type of job-> to reduce casting. drm/v3d: Refactor job management. drm/v3d: Add support for compute shader dispatch. drm/v3d: Drop reservation of a shared slot in the dma-buf reservations. drm: Add helpers for setting up an array of dma_fence dependencies. drm/v3d: Add missing implicit synchronization. drm/lima: Use the drm_gem_fence_array_add helpers for our deps. drivers/gpu/drm/drm_gem.c | 94 ++++++ drivers/gpu/drm/lima/lima_gem.c | 37 +- drivers/gpu/drm/lima/lima_sched.c | 66 +--- drivers/gpu/drm/lima/lima_sched.h | 6 +- drivers/gpu/drm/v3d/v3d_debugfs.c | 22 ++ drivers/gpu/drm/v3d/v3d_drv.c | 10 +- drivers/gpu/drm/v3d/v3d_drv.h | 104 +++--- drivers/gpu/drm/v3d/v3d_fence.c | 2 + drivers/gpu/drm/v3d/v3d_gem.c | 545 +++++++++++++++++++----------- drivers/gpu/drm/v3d/v3d_irq.c | 24 +- drivers/gpu/drm/v3d/v3d_regs.h | 73 ++++ drivers/gpu/drm/v3d/v3d_sched.c | 380 ++++++++++++++------- drivers/gpu/drm/v3d/v3d_trace.h | 94 ++++++ include/drm/drm_gem.h | 5 + include/uapi/drm/v3d_drm.h | 28 ++ 15 files changed, 1019 insertions(+), 471 deletions(-) -- 2.20.1 _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel