Lines Matching refs:ctxdma
40 nv50_wndw_ctxdma_del(struct nv50_wndw_ctxdma *ctxdma) in nv50_wndw_ctxdma_del() argument
42 nvif_object_dtor(&ctxdma->object); in nv50_wndw_ctxdma_del()
43 list_del(&ctxdma->head); in nv50_wndw_ctxdma_del()
44 kfree(ctxdma); in nv50_wndw_ctxdma_del()
51 struct nv50_wndw_ctxdma *ctxdma; in nv50_wndw_ctxdma_new() local
69 list_for_each_entry(ctxdma, &wndw->ctxdma.list, head) { in nv50_wndw_ctxdma_new()
70 if (ctxdma->object.handle == handle) in nv50_wndw_ctxdma_new()
71 return ctxdma; in nv50_wndw_ctxdma_new()
74 if (!(ctxdma = kzalloc(sizeof(*ctxdma), GFP_KERNEL))) in nv50_wndw_ctxdma_new()
76 list_add(&ctxdma->head, &wndw->ctxdma.list); in nv50_wndw_ctxdma_new()
101 ret = nvif_object_ctor(wndw->ctxdma.parent, "kmsFbCtxDma", handle, in nv50_wndw_ctxdma_new()
102 NV_DMA_IN_MEMORY, &args, argc, &ctxdma->object); in nv50_wndw_ctxdma_new()
104 nv50_wndw_ctxdma_del(ctxdma); in nv50_wndw_ctxdma_new()
108 return ctxdma; in nv50_wndw_ctxdma_new()
537 struct nv50_wndw_ctxdma *ctxdma; in nv50_wndw_prepare_fb() local
549 if (wndw->ctxdma.parent) { in nv50_wndw_prepare_fb()
550 ctxdma = nv50_wndw_ctxdma_new(wndw, fb); in nv50_wndw_prepare_fb()
551 if (IS_ERR(ctxdma)) { in nv50_wndw_prepare_fb()
553 return PTR_ERR(ctxdma); in nv50_wndw_prepare_fb()
557 asyw->image.handle[0] = ctxdma->object.handle; in nv50_wndw_prepare_fb()
637 struct nv50_wndw_ctxdma *ctxdma, *ctxtmp; in nv50_wndw_destroy() local
639 list_for_each_entry_safe(ctxdma, ctxtmp, &wndw->ctxdma.list, head) { in nv50_wndw_destroy()
640 nv50_wndw_ctxdma_del(ctxdma); in nv50_wndw_destroy()
732 wndw->ctxdma.parent = &wndw->wndw.base.user; in nv50_wndw_new_()
733 INIT_LIST_HEAD(&wndw->ctxdma.list); in nv50_wndw_new_()