Lines Matching refs:runqueue_node
239 struct g2d_runqueue_node *runqueue_node; member
812 struct g2d_runqueue_node *runqueue_node) in g2d_dma_start() argument
815 list_first_entry(&runqueue_node->run_cmdlist, in g2d_dma_start()
829 struct g2d_runqueue_node *runqueue_node; in g2d_get_runqueue_node() local
834 runqueue_node = list_first_entry(&g2d->runqueue, in g2d_get_runqueue_node()
836 list_del_init(&runqueue_node->list); in g2d_get_runqueue_node()
837 return runqueue_node; in g2d_get_runqueue_node()
841 struct g2d_runqueue_node *runqueue_node) in g2d_free_runqueue_node() argument
845 if (!runqueue_node) in g2d_free_runqueue_node()
853 list_for_each_entry(node, &runqueue_node->run_cmdlist, list) in g2d_free_runqueue_node()
854 g2d_unmap_cmdlist_gem(g2d, node, runqueue_node->filp); in g2d_free_runqueue_node()
855 list_splice_tail_init(&runqueue_node->run_cmdlist, &g2d->free_cmdlist); in g2d_free_runqueue_node()
858 kmem_cache_free(g2d->runqueue_slab, runqueue_node); in g2d_free_runqueue_node()
863 g2d->runqueue_node = g2d_get_runqueue_node(g2d); in g2d_exec_runqueue()
864 if (g2d->runqueue_node) in g2d_exec_runqueue()
865 g2d_dma_start(g2d, g2d->runqueue_node); in g2d_exec_runqueue()
876 complete(&g2d->runqueue_node->complete); in g2d_runqueue_worker()
877 if (g2d->runqueue_node->async) in g2d_runqueue_worker()
878 g2d_free_runqueue_node(g2d, g2d->runqueue_node); in g2d_runqueue_worker()
881 g2d->runqueue_node = NULL; in g2d_runqueue_worker()
890 struct g2d_runqueue_node *runqueue_node = g2d->runqueue_node; in g2d_finish_event() local
895 if (list_empty(&runqueue_node->event_list)) in g2d_finish_event()
898 e = list_first_entry(&runqueue_node->event_list, in g2d_finish_event()
1251 struct g2d_runqueue_node *runqueue_node; in exynos_g2d_exec_ioctl() local
1266 runqueue_node = kmem_cache_alloc(g2d->runqueue_slab, GFP_KERNEL); in exynos_g2d_exec_ioctl()
1267 if (!runqueue_node) { in exynos_g2d_exec_ioctl()
1271 run_cmdlist = &runqueue_node->run_cmdlist; in exynos_g2d_exec_ioctl()
1272 event_list = &runqueue_node->event_list; in exynos_g2d_exec_ioctl()
1275 init_completion(&runqueue_node->complete); in exynos_g2d_exec_ioctl()
1276 runqueue_node->async = req->async; in exynos_g2d_exec_ioctl()
1283 kmem_cache_free(g2d->runqueue_slab, runqueue_node); in exynos_g2d_exec_ioctl()
1288 runqueue_node->pid = current->pid; in exynos_g2d_exec_ioctl()
1289 runqueue_node->filp = file; in exynos_g2d_exec_ioctl()
1290 list_add_tail(&runqueue_node->list, &g2d->runqueue); in exynos_g2d_exec_ioctl()
1291 if (!g2d->runqueue_node) in exynos_g2d_exec_ioctl()
1295 if (runqueue_node->async) in exynos_g2d_exec_ioctl()
1298 wait_for_completion(&runqueue_node->complete); in exynos_g2d_exec_ioctl()
1299 g2d_free_runqueue_node(g2d, runqueue_node); in exynos_g2d_exec_ioctl()
1500 while (g2d->runqueue_node) { in g2d_remove()
1501 g2d_free_runqueue_node(g2d, g2d->runqueue_node); in g2d_remove()
1502 g2d->runqueue_node = g2d_get_runqueue_node(g2d); in g2d_remove()
1523 while (g2d->runqueue_node) in g2d_suspend()