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