Lines Matching refs:pt
154 struct sync_pt *pt = dma_fence_to_sync_pt(fence); in timeline_fence_release() local
159 if (!list_empty(&pt->link)) { in timeline_fence_release()
160 list_del(&pt->link); in timeline_fence_release()
161 rb_erase(&pt->node, &parent->pt_tree); in timeline_fence_release()
178 struct sync_pt *pt = dma_fence_to_sync_pt(fence); in timeline_fence_set_deadline() local
183 if (ktime_before(deadline, pt->deadline)) in timeline_fence_set_deadline()
184 pt->deadline = deadline; in timeline_fence_set_deadline()
186 pt->deadline = deadline; in timeline_fence_set_deadline()
211 struct sync_pt *pt, *next; in sync_timeline_signal() local
219 list_for_each_entry_safe(pt, next, &obj->pt_list, link) { in sync_timeline_signal()
220 if (!timeline_fence_signaled(&pt->base)) in sync_timeline_signal()
223 dma_fence_get(&pt->base); in sync_timeline_signal()
225 list_move_tail(&pt->link, &signalled); in sync_timeline_signal()
226 rb_erase(&pt->node, &obj->pt_tree); in sync_timeline_signal()
228 dma_fence_signal_locked(&pt->base); in sync_timeline_signal()
233 list_for_each_entry_safe(pt, next, &signalled, link) { in sync_timeline_signal()
234 list_del_init(&pt->link); in sync_timeline_signal()
235 dma_fence_put(&pt->base); in sync_timeline_signal()
252 struct sync_pt *pt; in sync_pt_create() local
254 pt = kzalloc(sizeof(*pt), GFP_KERNEL); in sync_pt_create()
255 if (!pt) in sync_pt_create()
259 dma_fence_init(&pt->base, &timeline_fence_ops, &obj->lock, in sync_pt_create()
261 INIT_LIST_HEAD(&pt->link); in sync_pt_create()
264 if (!dma_fence_is_signaled_locked(&pt->base)) { in sync_pt_create()
273 other = rb_entry(parent, typeof(*pt), node); in sync_pt_create()
282 kfree(pt); in sync_pt_create()
283 pt = other; in sync_pt_create()
289 rb_link_node(&pt->node, parent, p); in sync_pt_create()
290 rb_insert_color(&pt->node, &obj->pt_tree); in sync_pt_create()
292 parent = rb_next(&pt->node); in sync_pt_create()
293 list_add_tail(&pt->link, in sync_pt_create()
294 parent ? &rb_entry(parent, typeof(*pt), node)->link : &obj->pt_list); in sync_pt_create()
299 return pt; in sync_pt_create()
328 struct sync_pt *pt, *next; in sw_sync_debugfs_release() local
332 list_for_each_entry_safe(pt, next, &obj->pt_list, link) { in sw_sync_debugfs_release()
333 dma_fence_set_error(&pt->base, -ENOENT); in sw_sync_debugfs_release()
334 dma_fence_signal_locked(&pt->base); in sw_sync_debugfs_release()
348 struct sync_pt *pt; in sw_sync_ioctl_create_fence() local
360 pt = sync_pt_create(obj, data.value); in sw_sync_ioctl_create_fence()
361 if (!pt) { in sw_sync_ioctl_create_fence()
366 sync_file = sync_file_create(&pt->base); in sw_sync_ioctl_create_fence()
367 dma_fence_put(&pt->base); in sw_sync_ioctl_create_fence()
411 struct sync_pt *pt; in sw_sync_ioctl_get_deadline() local
424 pt = dma_fence_to_sync_pt(fence); in sw_sync_ioctl_get_deadline()
425 if (!pt) { in sw_sync_ioctl_get_deadline()
435 data.deadline_ns = ktime_to_ns(pt->deadline); in sw_sync_ioctl_get_deadline()