Lines Matching refs:ctxdma
43 nv50_wndw_ctxdma_del(struct nv50_wndw_ctxdma *ctxdma)
45 nvif_object_dtor(&ctxdma->object);
46 list_del(&ctxdma->head);
47 kfree(ctxdma);
54 struct nv50_wndw_ctxdma *ctxdma;
72 list_for_each_entry(ctxdma, &wndw->ctxdma.list, head) {
73 if (ctxdma->object.handle == handle)
74 return ctxdma;
77 if (!(ctxdma = kzalloc(sizeof(*ctxdma), GFP_KERNEL)))
79 list_add(&ctxdma->head, &wndw->ctxdma.list);
104 ret = nvif_object_ctor(wndw->ctxdma.parent, "kmsFbCtxDma", handle,
105 NV_DMA_IN_MEMORY, &args, argc, &ctxdma->object);
107 nv50_wndw_ctxdma_del(ctxdma);
111 return ctxdma;
540 struct nv50_wndw_ctxdma *ctxdma;
552 if (wndw->ctxdma.parent) {
553 ctxdma = nv50_wndw_ctxdma_new(wndw, fb);
554 if (IS_ERR(ctxdma)) {
556 return PTR_ERR(ctxdma);
560 asyw->image.handle[0] = ctxdma->object.handle;
641 struct nv50_wndw_ctxdma *ctxdma, *ctxtmp;
643 list_for_each_entry_safe(ctxdma, ctxtmp, &wndw->ctxdma.list, head) {
644 nv50_wndw_ctxdma_del(ctxdma);
717 wndw->ctxdma.parent = &wndw->wndw.base.user;
718 INIT_LIST_HEAD(&wndw->ctxdma.list);