Lines Matching refs:runqueue_node
253 struct g2d_runqueue_node *runqueue_node; member
800 struct g2d_runqueue_node *runqueue_node) in g2d_dma_start() argument
803 list_first_entry(&runqueue_node->run_cmdlist, in g2d_dma_start()
813 struct g2d_runqueue_node *runqueue_node; in g2d_get_runqueue_node() local
818 runqueue_node = list_first_entry(&g2d->runqueue, in g2d_get_runqueue_node()
820 list_del_init(&runqueue_node->list); in g2d_get_runqueue_node()
821 return runqueue_node; in g2d_get_runqueue_node()
825 struct g2d_runqueue_node *runqueue_node) in g2d_free_runqueue_node() argument
834 list_for_each_entry(node, &runqueue_node->run_cmdlist, list) in g2d_free_runqueue_node()
835 g2d_unmap_cmdlist_gem(g2d, node, runqueue_node->filp); in g2d_free_runqueue_node()
836 list_splice_tail_init(&runqueue_node->run_cmdlist, &g2d->free_cmdlist); in g2d_free_runqueue_node()
839 kmem_cache_free(g2d->runqueue_slab, runqueue_node); in g2d_free_runqueue_node()
869 struct g2d_runqueue_node *runqueue_node; in g2d_runqueue_worker() local
880 runqueue_node = g2d->runqueue_node; in g2d_runqueue_worker()
881 g2d->runqueue_node = NULL; in g2d_runqueue_worker()
883 if (runqueue_node) { in g2d_runqueue_worker()
887 complete(&runqueue_node->complete); in g2d_runqueue_worker()
888 if (runqueue_node->async) in g2d_runqueue_worker()
889 g2d_free_runqueue_node(g2d, runqueue_node); in g2d_runqueue_worker()
893 g2d->runqueue_node = g2d_get_runqueue_node(g2d); in g2d_runqueue_worker()
895 if (g2d->runqueue_node) { in g2d_runqueue_worker()
897 g2d_dma_start(g2d, g2d->runqueue_node); in g2d_runqueue_worker()
907 struct g2d_runqueue_node *runqueue_node = g2d->runqueue_node; in g2d_finish_event() local
911 if (list_empty(&runqueue_node->event_list)) in g2d_finish_event()
914 e = list_first_entry(&runqueue_node->event_list, in g2d_finish_event()
970 struct g2d_runqueue_node *runqueue_node = NULL; in g2d_wait_finish() local
976 if (!g2d->runqueue_node) in g2d_wait_finish()
979 runqueue_node = g2d->runqueue_node; in g2d_wait_finish()
982 if (file && runqueue_node->filp != file) in g2d_wait_finish()
988 while (tries-- && (g2d->runqueue_node == runqueue_node)) in g2d_wait_finish()
993 if (g2d->runqueue_node != runqueue_node) in g2d_wait_finish()
1007 complete(&runqueue_node->complete); in g2d_wait_finish()
1008 if (runqueue_node->async) in g2d_wait_finish()
1009 g2d_free_runqueue_node(g2d, runqueue_node); in g2d_wait_finish()
1297 struct g2d_runqueue_node *runqueue_node; in exynos_g2d_exec_ioctl() local
1301 runqueue_node = kmem_cache_alloc(g2d->runqueue_slab, GFP_KERNEL); in exynos_g2d_exec_ioctl()
1302 if (!runqueue_node) in exynos_g2d_exec_ioctl()
1305 run_cmdlist = &runqueue_node->run_cmdlist; in exynos_g2d_exec_ioctl()
1306 event_list = &runqueue_node->event_list; in exynos_g2d_exec_ioctl()
1309 init_completion(&runqueue_node->complete); in exynos_g2d_exec_ioctl()
1310 runqueue_node->async = req->async; in exynos_g2d_exec_ioctl()
1317 kmem_cache_free(g2d->runqueue_slab, runqueue_node); in exynos_g2d_exec_ioctl()
1322 runqueue_node->pid = current->pid; in exynos_g2d_exec_ioctl()
1323 runqueue_node->filp = file; in exynos_g2d_exec_ioctl()
1324 list_add_tail(&runqueue_node->list, &g2d->runqueue); in exynos_g2d_exec_ioctl()
1330 if (runqueue_node->async) in exynos_g2d_exec_ioctl()
1333 wait_for_completion(&runqueue_node->complete); in exynos_g2d_exec_ioctl()
1334 g2d_free_runqueue_node(g2d, runqueue_node); in exynos_g2d_exec_ioctl()