Lines Matching refs:dmaobj
38 struct nvkm_dmaobj *dmaobj = nvkm_dmaobj(base); in nvkm_dmaobj_bind() local
39 return dmaobj->func->bind(dmaobj, gpuobj, align, pgpuobj); in nvkm_dmaobj_bind()
45 struct nvkm_dmaobj *dmaobj = nvkm_dmaobj(base); in nvkm_dmaobj_dtor() local
46 if (!RB_EMPTY_NODE(&dmaobj->rb)) in nvkm_dmaobj_dtor()
47 rb_erase(&dmaobj->rb, &dmaobj->object.client->dmaroot); in nvkm_dmaobj_dtor()
48 return dmaobj; in nvkm_dmaobj_dtor()
60 struct nvkm_dmaobj *dmaobj) in nvkm_dmaobj_ctor() argument
74 nvkm_object_ctor(&nvkm_dmaobj_func, oclass, &dmaobj->object); in nvkm_dmaobj_ctor()
75 dmaobj->func = func; in nvkm_dmaobj_ctor()
76 dmaobj->dma = dma; in nvkm_dmaobj_ctor()
77 RB_CLEAR_NODE(&dmaobj->rb); in nvkm_dmaobj_ctor()
85 dmaobj->target = args->v0.target; in nvkm_dmaobj_ctor()
86 dmaobj->access = args->v0.access; in nvkm_dmaobj_ctor()
87 dmaobj->start = args->v0.start; in nvkm_dmaobj_ctor()
88 dmaobj->limit = args->v0.limit; in nvkm_dmaobj_ctor()
95 if (dmaobj->start > dmaobj->limit) in nvkm_dmaobj_ctor()
98 switch (dmaobj->target) { in nvkm_dmaobj_ctor()
100 dmaobj->target = NV_MEM_TARGET_VM; in nvkm_dmaobj_ctor()
104 if (dmaobj->limit >= fb->ram->size - instmem->reserved) in nvkm_dmaobj_ctor()
109 dmaobj->target = NV_MEM_TARGET_VRAM; in nvkm_dmaobj_ctor()
114 dmaobj->target = NV_MEM_TARGET_PCI; in nvkm_dmaobj_ctor()
120 dmaobj->target = NV_MEM_TARGET_PCI_NOSNOOP; in nvkm_dmaobj_ctor()
126 switch (dmaobj->access) { in nvkm_dmaobj_ctor()
128 dmaobj->access = NV_MEM_ACCESS_VM; in nvkm_dmaobj_ctor()
131 dmaobj->access = NV_MEM_ACCESS_RO; in nvkm_dmaobj_ctor()
134 dmaobj->access = NV_MEM_ACCESS_WO; in nvkm_dmaobj_ctor()
137 dmaobj->access = NV_MEM_ACCESS_RW; in nvkm_dmaobj_ctor()