Lines Matching refs:post_deps
658 struct msm_submit_post_dep *post_deps; in msm_parse_post_deps() local
663 post_deps = kcalloc(nr_syncobjs, sizeof(*post_deps), in msm_parse_post_deps()
665 if (!post_deps) in msm_parse_post_deps()
678 post_deps[i].point = syncobj_desc.point; in msm_parse_post_deps()
692 post_deps[i].chain = dma_fence_chain_alloc(); in msm_parse_post_deps()
693 if (!post_deps[i].chain) { in msm_parse_post_deps()
699 post_deps[i].syncobj = in msm_parse_post_deps()
701 if (!post_deps[i].syncobj) { in msm_parse_post_deps()
709 dma_fence_chain_free(post_deps[j].chain); in msm_parse_post_deps()
710 if (post_deps[j].syncobj) in msm_parse_post_deps()
711 drm_syncobj_put(post_deps[j].syncobj); in msm_parse_post_deps()
714 kfree(post_deps); in msm_parse_post_deps()
718 return post_deps; in msm_parse_post_deps()
721 static void msm_process_post_deps(struct msm_submit_post_dep *post_deps, in msm_process_post_deps() argument
726 for (i = 0; post_deps && i < count; ++i) { in msm_process_post_deps()
727 if (post_deps[i].chain) { in msm_process_post_deps()
728 drm_syncobj_add_point(post_deps[i].syncobj, in msm_process_post_deps()
729 post_deps[i].chain, in msm_process_post_deps()
730 fence, post_deps[i].point); in msm_process_post_deps()
731 post_deps[i].chain = NULL; in msm_process_post_deps()
733 drm_syncobj_replace_fence(post_deps[i].syncobj, in msm_process_post_deps()
749 struct msm_submit_post_dep *post_deps = NULL; in msm_ioctl_gem_submit() local
839 post_deps = msm_parse_post_deps(dev, file, in msm_ioctl_gem_submit()
843 if (IS_ERR(post_deps)) { in msm_ioctl_gem_submit()
844 ret = PTR_ERR(post_deps); in msm_ioctl_gem_submit()
990 msm_process_post_deps(post_deps, args->nr_out_syncobjs, in msm_ioctl_gem_submit()
1013 if (!IS_ERR_OR_NULL(post_deps)) { in msm_ioctl_gem_submit()
1015 kfree(post_deps[i].chain); in msm_ioctl_gem_submit()
1016 drm_syncobj_put(post_deps[i].syncobj); in msm_ioctl_gem_submit()
1018 kfree(post_deps); in msm_ioctl_gem_submit()