Lines Matching refs:post_deps
621 struct msm_submit_post_dep *post_deps; in msm_parse_post_deps() local
626 post_deps = kmalloc_array(nr_syncobjs, sizeof(*post_deps), in msm_parse_post_deps()
628 if (!post_deps) in msm_parse_post_deps()
641 post_deps[i].point = syncobj_desc.point; in msm_parse_post_deps()
642 post_deps[i].chain = NULL; in msm_parse_post_deps()
656 post_deps[i].chain = dma_fence_chain_alloc(); in msm_parse_post_deps()
657 if (!post_deps[i].chain) { in msm_parse_post_deps()
663 post_deps[i].syncobj = in msm_parse_post_deps()
665 if (!post_deps[i].syncobj) { in msm_parse_post_deps()
673 dma_fence_chain_free(post_deps[j].chain); in msm_parse_post_deps()
674 if (post_deps[j].syncobj) in msm_parse_post_deps()
675 drm_syncobj_put(post_deps[j].syncobj); in msm_parse_post_deps()
678 kfree(post_deps); in msm_parse_post_deps()
682 return post_deps; in msm_parse_post_deps()
685 static void msm_process_post_deps(struct msm_submit_post_dep *post_deps, in msm_process_post_deps() argument
690 for (i = 0; post_deps && i < count; ++i) { in msm_process_post_deps()
691 if (post_deps[i].chain) { in msm_process_post_deps()
692 drm_syncobj_add_point(post_deps[i].syncobj, in msm_process_post_deps()
693 post_deps[i].chain, in msm_process_post_deps()
694 fence, post_deps[i].point); in msm_process_post_deps()
695 post_deps[i].chain = NULL; in msm_process_post_deps()
697 drm_syncobj_replace_fence(post_deps[i].syncobj, in msm_process_post_deps()
713 struct msm_submit_post_dep *post_deps = NULL; in msm_ioctl_gem_submit() local
801 post_deps = msm_parse_post_deps(dev, file, in msm_ioctl_gem_submit()
805 if (IS_ERR(post_deps)) { in msm_ioctl_gem_submit()
806 ret = PTR_ERR(post_deps); in msm_ioctl_gem_submit()
936 msm_process_post_deps(post_deps, args->nr_out_syncobjs, in msm_ioctl_gem_submit()
950 if (!IS_ERR_OR_NULL(post_deps)) { in msm_ioctl_gem_submit()
952 kfree(post_deps[i].chain); in msm_ioctl_gem_submit()
953 drm_syncobj_put(post_deps[i].syncobj); in msm_ioctl_gem_submit()
955 kfree(post_deps); in msm_ioctl_gem_submit()