Lines Matching refs:runqueue_node
253 struct g2d_runqueue_node *runqueue_node; member
805 struct g2d_runqueue_node *runqueue_node) in g2d_dma_start() argument
808 list_first_entry(&runqueue_node->run_cmdlist, in g2d_dma_start()
818 struct g2d_runqueue_node *runqueue_node; in g2d_get_runqueue_node() local
823 runqueue_node = list_first_entry(&g2d->runqueue, in g2d_get_runqueue_node()
825 list_del_init(&runqueue_node->list); in g2d_get_runqueue_node()
826 return runqueue_node; in g2d_get_runqueue_node()
830 struct g2d_runqueue_node *runqueue_node) in g2d_free_runqueue_node() argument
839 list_for_each_entry(node, &runqueue_node->run_cmdlist, list) in g2d_free_runqueue_node()
840 g2d_unmap_cmdlist_gem(g2d, node, runqueue_node->filp); in g2d_free_runqueue_node()
841 list_splice_tail_init(&runqueue_node->run_cmdlist, &g2d->free_cmdlist); in g2d_free_runqueue_node()
844 kmem_cache_free(g2d->runqueue_slab, runqueue_node); in g2d_free_runqueue_node()
874 struct g2d_runqueue_node *runqueue_node; in g2d_runqueue_worker() local
885 runqueue_node = g2d->runqueue_node; in g2d_runqueue_worker()
886 g2d->runqueue_node = NULL; in g2d_runqueue_worker()
888 if (runqueue_node) { in g2d_runqueue_worker()
892 complete(&runqueue_node->complete); in g2d_runqueue_worker()
893 if (runqueue_node->async) in g2d_runqueue_worker()
894 g2d_free_runqueue_node(g2d, runqueue_node); in g2d_runqueue_worker()
898 g2d->runqueue_node = g2d_get_runqueue_node(g2d); in g2d_runqueue_worker()
900 if (g2d->runqueue_node) { in g2d_runqueue_worker()
902 g2d_dma_start(g2d, g2d->runqueue_node); in g2d_runqueue_worker()
912 struct g2d_runqueue_node *runqueue_node = g2d->runqueue_node; in g2d_finish_event() local
916 if (list_empty(&runqueue_node->event_list)) in g2d_finish_event()
919 e = list_first_entry(&runqueue_node->event_list, in g2d_finish_event()
975 struct g2d_runqueue_node *runqueue_node = NULL; in g2d_wait_finish() local
981 if (!g2d->runqueue_node) in g2d_wait_finish()
984 runqueue_node = g2d->runqueue_node; in g2d_wait_finish()
987 if (file && runqueue_node->filp != file) in g2d_wait_finish()
993 while (tries-- && (g2d->runqueue_node == runqueue_node)) in g2d_wait_finish()
998 if (g2d->runqueue_node != runqueue_node) in g2d_wait_finish()
1012 complete(&runqueue_node->complete); in g2d_wait_finish()
1013 if (runqueue_node->async) in g2d_wait_finish()
1014 g2d_free_runqueue_node(g2d, runqueue_node); in g2d_wait_finish()
1302 struct g2d_runqueue_node *runqueue_node; in exynos_g2d_exec_ioctl() local
1306 runqueue_node = kmem_cache_alloc(g2d->runqueue_slab, GFP_KERNEL); in exynos_g2d_exec_ioctl()
1307 if (!runqueue_node) in exynos_g2d_exec_ioctl()
1310 run_cmdlist = &runqueue_node->run_cmdlist; in exynos_g2d_exec_ioctl()
1311 event_list = &runqueue_node->event_list; in exynos_g2d_exec_ioctl()
1314 init_completion(&runqueue_node->complete); in exynos_g2d_exec_ioctl()
1315 runqueue_node->async = req->async; in exynos_g2d_exec_ioctl()
1322 kmem_cache_free(g2d->runqueue_slab, runqueue_node); in exynos_g2d_exec_ioctl()
1327 runqueue_node->pid = current->pid; in exynos_g2d_exec_ioctl()
1328 runqueue_node->filp = file; in exynos_g2d_exec_ioctl()
1329 list_add_tail(&runqueue_node->list, &g2d->runqueue); in exynos_g2d_exec_ioctl()
1335 if (runqueue_node->async) in exynos_g2d_exec_ioctl()
1338 wait_for_completion(&runqueue_node->complete); in exynos_g2d_exec_ioctl()
1339 g2d_free_runqueue_node(g2d, runqueue_node); in exynos_g2d_exec_ioctl()