search for: old_rbo

Displaying 7 results from an estimated 7 matches for "old_rbo".

2017 Aug 08
5
[PATCH libdrm] drm: Remove create_handle() drm_framebuffer "virtual".
...0; /* schedule unpin of the old buffer */ - old_radeon_fb = to_radeon_framebuffer(crtc->primary->fb); - obj = old_radeon_fb->obj; + old_fb = crtc->primary->fb; + obj = old_fb->gem_objs[0]; /* take a reference to the old object */ drm_gem_object_reference(obj); work->old_rbo = gem_to_radeon_bo(obj); - new_radeon_fb = to_radeon_framebuffer(fb); - obj = new_radeon_fb->obj; + new_fb = fb; + obj = new_fb->gem_objs[0]; new_rbo = gem_to_radeon_bo(obj); /* pin the new buffer */ @@ -1301,39 +1301,27 @@ void radeon_compute_pll_legacy(struct radeon_pll *pll, sta...
2017 Aug 08
5
[PATCH libdrm] drm: Remove create_handle() drm_framebuffer "virtual".
...0; /* schedule unpin of the old buffer */ - old_radeon_fb = to_radeon_framebuffer(crtc->primary->fb); - obj = old_radeon_fb->obj; + old_fb = crtc->primary->fb; + obj = old_fb->gem_objs[0]; /* take a reference to the old object */ drm_gem_object_reference(obj); work->old_rbo = gem_to_radeon_bo(obj); - new_radeon_fb = to_radeon_framebuffer(fb); - obj = new_radeon_fb->obj; + new_fb = fb; + obj = new_fb->gem_objs[0]; new_rbo = gem_to_radeon_bo(obj); /* pin the new buffer */ @@ -1301,39 +1301,27 @@ void radeon_compute_pll_legacy(struct radeon_pll *pll, sta...
2017 Aug 08
5
[PATCH libdrm] drm: Remove create_handle() drm_framebuffer "virtual".
...0; /* schedule unpin of the old buffer */ - old_radeon_fb = to_radeon_framebuffer(crtc->primary->fb); - obj = old_radeon_fb->obj; + old_fb = crtc->primary->fb; + obj = old_fb->gem_objs[0]; /* take a reference to the old object */ drm_gem_object_reference(obj); work->old_rbo = gem_to_radeon_bo(obj); - new_radeon_fb = to_radeon_framebuffer(fb); - obj = new_radeon_fb->obj; + new_fb = fb; + obj = new_fb->gem_objs[0]; new_rbo = gem_to_radeon_bo(obj); /* pin the new buffer */ @@ -1301,39 +1301,27 @@ void radeon_compute_pll_legacy(struct radeon_pll *pll, sta...
2014 Jul 09
0
[PATCH 13/17] drm/ttm: flip the switch, and convert to dma_fence
...ip(struct drm_crtc *crtc, obj = new_radeon_fb->obj; work->new_rbo = gem_to_radeon_bo(obj); - if (work->new_rbo->tbo.sync_obj) { - int ret = ttm_bo_reserve(&work->new_rbo->tbo, true, false, false, NULL); - if (ret) { - drm_gem_object_unreference_unlocked(&work->old_rbo->gem_base); - kfree(work); - return ret; - } - work->fence = radeon_fence_ref(work->new_rbo->tbo.sync_obj); - ttm_bo_unreserve(&work->new_rbo->tbo); + /* XXX: Hack, bo should really be pinned at this point */ + do { + rcu_read_lock(); + fence = rcu_dereference(work-&g...
2014 Jul 09
22
[PATCH 00/17] Convert TTM to the new fence interface.
This series applies on top of the driver-core-next branch of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core.git Before converting ttm to the new fence interface I had to fix some drivers to require a reservation before poking with fence_obj. After flipping the switch RCU becomes available instead, and the extra reservations can be dropped again. :-) I've done at least basic
2014 Jul 31
19
[PATCH 01/19] fence: add debugging lines to fence_is_signaled for the callback
fence_is_signaled callback should support being run in atomic context, but not in irq context. Signed-off-by: Maarten Lankhorst <maarten.lankhorst at canonical.com> --- include/linux/fence.h | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/include/linux/fence.h b/include/linux/fence.h index d174585b874b..c1a4519ba2f5 100644 ---
2012 Dec 12
43
[PATCH 00/37] [RFC] revamped modeset locking
Hi all, First thing first: It works, I now no longer have a few dropped frames every 10s on my testbox here with the pageflip i-g-t tests. Random notes: - New design has per-crtc locks to protect the crtc input-side (pageflip, cursor) for r/w and the output state of the crtc (mode, dpms) as read-only. It also required completely revamped fb lifecycle management, those are now refcounted