Lines Matching refs:pt
133 struct sync_pt *pt = dma_fence_to_sync_pt(fence);
138 if (!list_empty(&pt->link)) {
139 list_del(&pt->link);
140 rb_erase(&pt->node, &parent->pt_tree);
195 struct sync_pt *pt, *next;
203 list_for_each_entry_safe(pt, next, &obj->pt_list, link) {
204 if (!timeline_fence_signaled(&pt->base))
207 dma_fence_get(&pt->base);
209 list_move_tail(&pt->link, &signalled);
210 rb_erase(&pt->node, &obj->pt_tree);
212 dma_fence_signal_locked(&pt->base);
217 list_for_each_entry_safe(pt, next, &signalled, link) {
218 list_del_init(&pt->link);
219 dma_fence_put(&pt->base);
224 * sync_pt_create() - creates a sync pt
236 struct sync_pt *pt;
238 pt = kzalloc(sizeof(*pt), GFP_KERNEL);
239 if (!pt)
243 dma_fence_init(&pt->base, &timeline_fence_ops, &obj->lock,
245 INIT_LIST_HEAD(&pt->link);
248 if (!dma_fence_is_signaled_locked(&pt->base)) {
257 other = rb_entry(parent, typeof(*pt), node);
266 kfree(pt);
267 pt = other;
273 rb_link_node(&pt->node, parent, p);
274 rb_insert_color(&pt->node, &obj->pt_tree);
276 parent = rb_next(&pt->node);
277 list_add_tail(&pt->link,
278 parent ? &rb_entry(parent, typeof(*pt), node)->link : &obj->pt_list);
283 return pt;
312 struct sync_pt *pt, *next;
316 list_for_each_entry_safe(pt, next, &obj->pt_list, link) {
317 dma_fence_set_error(&pt->base, -ENOENT);
318 dma_fence_signal_locked(&pt->base);
332 struct sync_pt *pt;
344 pt = sync_pt_create(obj, data.value);
345 if (!pt) {
350 sync_file = sync_file_create(&pt->base);
351 dma_fence_put(&pt->base);