<p dir="ltr">Hi Maarten</p>
<p dir="ltr">Will this stop the stuttering I've been seeing with DRI3 and PRIME? Or will other patches / plumbing be required</p>
<p dir="ltr">Cheers</p>
<p dir="ltr">Mike</p>
<div class="gmail_quote">On 9 Jul 2014 13:29, "Maarten Lankhorst" <<a href="mailto:maarten.lankhorst@canonical.com">maarten.lankhorst@canonical.com</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
This series applies on top of the driver-core-next branch of<br>
git://<a href="http://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core.git" target="_blank">git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core.git</a><br>
<br>
Before converting ttm to the new fence interface I had to fix some<br>
drivers to require a reservation before poking with fence_obj.<br>
After flipping the switch RCU becomes available instead, and<br>
the extra reservations can be dropped again. :-)<br>
<br>
I've done at least basic testing on all the drivers I've converted<br>
at some point, but more testing is definitely welcomed!<br>
<br>
---<br>
<br>
Maarten Lankhorst (17):<br>
drm/ttm: add interruptible parameter to ttm_eu_reserve_buffers<br>
drm/ttm: kill off some members to ttm_validate_buffer<br>
drm/nouveau: add reservation to nouveau_gem_ioctl_cpu_prep<br>
drm/nouveau: require reservations for nouveau_fence_sync and nouveau_bo_fence<br>
drm/ttm: call ttm_bo_wait while inside a reservation<br>
drm/ttm: kill fence_lock<br>
drm/nouveau: rework to new fence interface<br>
drm/radeon: add timeout argument to radeon_fence_wait_seq<br>
drm/radeon: use common fence implementation for fences<br>
drm/qxl: rework to new fence interface<br>
drm/vmwgfx: get rid of different types of fence_flags entirely<br>
drm/vmwgfx: rework to new fence interface<br>
drm/ttm: flip the switch, and convert to dma_fence<br>
drm/nouveau: use rcu in nouveau_gem_ioctl_cpu_prep<br>
drm/radeon: use rcu waits in some ioctls<br>
drm/vmwgfx: use rcu in vmw_user_dmabuf_synccpu_grab<br>
drm/ttm: use rcu in core ttm<br>
<br>
drivers/gpu/drm/nouveau/core/core/event.c | 4<br>
drivers/gpu/drm/nouveau/nouveau_bo.c | 59 +---<br>
drivers/gpu/drm/nouveau/nouveau_display.c | 25 +-<br>
drivers/gpu/drm/nouveau/nouveau_fence.c | 431 +++++++++++++++++++----------<br>
drivers/gpu/drm/nouveau/nouveau_fence.h | 22 +<br>
drivers/gpu/drm/nouveau/nouveau_gem.c | 55 +---<br>
drivers/gpu/drm/nouveau/nv04_fence.c | 4<br>
drivers/gpu/drm/nouveau/nv10_fence.c | 4<br>
drivers/gpu/drm/nouveau/nv17_fence.c | 2<br>
drivers/gpu/drm/nouveau/nv50_fence.c | 2<br>
drivers/gpu/drm/nouveau/nv84_fence.c | 11 -<br>
drivers/gpu/drm/qxl/Makefile | 2<br>
drivers/gpu/drm/qxl/qxl_cmd.c | 7<br>
drivers/gpu/drm/qxl/qxl_debugfs.c | 16 +<br>
drivers/gpu/drm/qxl/qxl_drv.h | 20 -<br>
drivers/gpu/drm/qxl/qxl_fence.c | 91 ------<br>
drivers/gpu/drm/qxl/qxl_kms.c | 1<br>
drivers/gpu/drm/qxl/qxl_object.c | 2<br>
drivers/gpu/drm/qxl/qxl_object.h | 6<br>
drivers/gpu/drm/qxl/qxl_release.c | 172 ++++++++++--<br>
drivers/gpu/drm/qxl/qxl_ttm.c | 93 ------<br>
drivers/gpu/drm/radeon/radeon.h | 15 -<br>
drivers/gpu/drm/radeon/radeon_cs.c | 10 +<br>
drivers/gpu/drm/radeon/radeon_device.c | 60 ++++<br>
drivers/gpu/drm/radeon/radeon_display.c | 21 +<br>
drivers/gpu/drm/radeon/radeon_fence.c | 283 +++++++++++++++----<br>
drivers/gpu/drm/radeon/radeon_gem.c | 19 +<br>
drivers/gpu/drm/radeon/radeon_object.c | 8 -<br>
drivers/gpu/drm/radeon/radeon_ttm.c | 34 --<br>
drivers/gpu/drm/radeon/radeon_uvd.c | 10 -<br>
drivers/gpu/drm/radeon/radeon_vm.c | 16 +<br>
drivers/gpu/drm/ttm/ttm_bo.c | 187 ++++++-------<br>
drivers/gpu/drm/ttm/ttm_bo_util.c | 28 --<br>
drivers/gpu/drm/ttm/ttm_bo_vm.c | 3<br>
drivers/gpu/drm/ttm/ttm_execbuf_util.c | 146 +++-------<br>
drivers/gpu/drm/vmwgfx/vmwgfx_buffer.c | 47 ---<br>
drivers/gpu/drm/vmwgfx/vmwgfx_drv.h | 1<br>
drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c | 24 --<br>
drivers/gpu/drm/vmwgfx/vmwgfx_fence.c | 329 ++++++++++++----------<br>
drivers/gpu/drm/vmwgfx/vmwgfx_fence.h | 35 +-<br>
drivers/gpu/drm/vmwgfx/vmwgfx_resource.c | 43 +--<br>
include/drm/ttm/ttm_bo_api.h | 7<br>
include/drm/ttm/ttm_bo_driver.h | 29 --<br>
include/drm/ttm/ttm_execbuf_util.h | 22 +<br>
44 files changed, 1256 insertions(+), 1150 deletions(-)<br>
delete mode 100644 drivers/gpu/drm/qxl/qxl_fence.c<br>
<br>
--<br>
Signature<br>
_______________________________________________<br>
dri-devel mailing list<br>
<a href="mailto:dri-devel@lists.freedesktop.org">dri-devel@lists.freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/dri-devel" target="_blank">http://lists.freedesktop.org/mailman/listinfo/dri-devel</a><br>
</blockquote></div>