/linux-4.4.14/drivers/gpu/drm/nouveau/nvkm/engine/dma/ |
D | user.c | 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() [all …]
|
D | usernv04.c | 44 struct nv04_dmaobj *dmaobj = nv04_dmaobj(base); in nv04_dmaobj_bind() local 45 struct nvkm_device *device = dmaobj->base.dma->engine.subdev.device; in nv04_dmaobj_bind() 46 u64 offset = dmaobj->base.start & 0xfffff000; in nv04_dmaobj_bind() 47 u64 adjust = dmaobj->base.start & 0x00000fff; in nv04_dmaobj_bind() 48 u32 length = dmaobj->base.limit - dmaobj->base.start; in nv04_dmaobj_bind() 51 if (dmaobj->clone) { in nv04_dmaobj_bind() 54 if (!dmaobj->base.start) in nv04_dmaobj_bind() 65 nvkm_wo32(*pgpuobj, 0x00, dmaobj->flags0 | (adjust << 20)); in nv04_dmaobj_bind() 67 nvkm_wo32(*pgpuobj, 0x08, dmaobj->flags2 | offset); in nv04_dmaobj_bind() 68 nvkm_wo32(*pgpuobj, 0x0c, dmaobj->flags2 | offset); in nv04_dmaobj_bind() [all …]
|
D | usergf100.c | 44 struct gf100_dmaobj *dmaobj = gf100_dmaobj(base); in gf100_dmaobj_bind() local 45 struct nvkm_device *device = dmaobj->base.dma->engine.subdev.device; in gf100_dmaobj_bind() 51 nvkm_wo32(*pgpuobj, 0x00, dmaobj->flags0); in gf100_dmaobj_bind() 52 nvkm_wo32(*pgpuobj, 0x04, lower_32_bits(dmaobj->base.limit)); in gf100_dmaobj_bind() 53 nvkm_wo32(*pgpuobj, 0x08, lower_32_bits(dmaobj->base.start)); in gf100_dmaobj_bind() 54 nvkm_wo32(*pgpuobj, 0x0c, upper_32_bits(dmaobj->base.limit) << 24 | in gf100_dmaobj_bind() 55 upper_32_bits(dmaobj->base.start)); in gf100_dmaobj_bind() 57 nvkm_wo32(*pgpuobj, 0x14, dmaobj->flags5); in gf100_dmaobj_bind() 77 struct gf100_dmaobj *dmaobj; in gf100_dmaobj_new() local 81 if (!(dmaobj = kzalloc(sizeof(*dmaobj), GFP_KERNEL))) in gf100_dmaobj_new() [all …]
|
D | usernv50.c | 44 struct nv50_dmaobj *dmaobj = nv50_dmaobj(base); in nv50_dmaobj_bind() local 45 struct nvkm_device *device = dmaobj->base.dma->engine.subdev.device; in nv50_dmaobj_bind() 51 nvkm_wo32(*pgpuobj, 0x00, dmaobj->flags0); in nv50_dmaobj_bind() 52 nvkm_wo32(*pgpuobj, 0x04, lower_32_bits(dmaobj->base.limit)); in nv50_dmaobj_bind() 53 nvkm_wo32(*pgpuobj, 0x08, lower_32_bits(dmaobj->base.start)); in nv50_dmaobj_bind() 54 nvkm_wo32(*pgpuobj, 0x0c, upper_32_bits(dmaobj->base.limit) << 24 | in nv50_dmaobj_bind() 55 upper_32_bits(dmaobj->base.start)); in nv50_dmaobj_bind() 57 nvkm_wo32(*pgpuobj, 0x14, dmaobj->flags5); in nv50_dmaobj_bind() 77 struct nv50_dmaobj *dmaobj; in nv50_dmaobj_new() local 81 if (!(dmaobj = kzalloc(sizeof(*dmaobj), GFP_KERNEL))) in nv50_dmaobj_new() [all …]
|
D | usergf119.c | 43 struct gf119_dmaobj *dmaobj = gf119_dmaobj(base); in gf119_dmaobj_bind() local 44 struct nvkm_device *device = dmaobj->base.dma->engine.subdev.device; in gf119_dmaobj_bind() 50 nvkm_wo32(*pgpuobj, 0x00, dmaobj->flags0); in gf119_dmaobj_bind() 51 nvkm_wo32(*pgpuobj, 0x04, dmaobj->base.start >> 8); in gf119_dmaobj_bind() 52 nvkm_wo32(*pgpuobj, 0x08, dmaobj->base.limit >> 8); in gf119_dmaobj_bind() 75 struct gf119_dmaobj *dmaobj; in gf119_dmaobj_new() local 79 if (!(dmaobj = kzalloc(sizeof(*dmaobj), GFP_KERNEL))) in gf119_dmaobj_new() 81 *pdmaobj = &dmaobj->base; in gf119_dmaobj_new() 84 &data, &size, &dmaobj->base); in gf119_dmaobj_new() 99 if (dmaobj->base.target != NV_MEM_TARGET_VM) { in gf119_dmaobj_new() [all …]
|
D | base.c | 36 struct nvkm_dmaobj *dmaobj = in nvkm_dma_search() local 37 container_of(node, typeof(*dmaobj), rb); in nvkm_dma_search() 38 if (object < dmaobj->handle) in nvkm_dma_search() 41 if (object > dmaobj->handle) in nvkm_dma_search() 44 return dmaobj; in nvkm_dma_search() 55 struct nvkm_dmaobj *dmaobj = NULL; in nvkm_dma_oclass_new() local 61 ret = dma->func->class_new(dma, oclass, data, size, &dmaobj); in nvkm_dma_oclass_new() 62 if (dmaobj) in nvkm_dma_oclass_new() 63 *pobject = &dmaobj->object; in nvkm_dma_oclass_new() 67 dmaobj->handle = oclass->object; in nvkm_dma_oclass_new() [all …]
|
/linux-4.4.14/drivers/gpu/drm/nouveau/nvkm/engine/disp/ |
D | dmacnv50.c | 142 struct nvkm_dmaobj *dmaobj; in nv50_disp_dmac_new_() local 156 dmaobj = nvkm_dma_search(device->dma, client, push); in nv50_disp_dmac_new_() 157 if (!dmaobj) in nv50_disp_dmac_new_() 160 if (dmaobj->limit - dmaobj->start != 0xfff) in nv50_disp_dmac_new_() 163 switch (dmaobj->target) { in nv50_disp_dmac_new_() 165 chan->push = 0x00000001 | dmaobj->start >> 8; in nv50_disp_dmac_new_() 168 chan->push = 0x00000003 | dmaobj->start >> 8; in nv50_disp_dmac_new_()
|
/linux-4.4.14/drivers/gpu/drm/nouveau/nvkm/engine/fifo/ |
D | chan.c | 357 struct nvkm_dmaobj *dmaobj; in nvkm_fifo_chan_ctor() local 374 dmaobj = nvkm_dma_search(device->dma, oclass->client, push); in nvkm_fifo_chan_ctor() 375 if (!dmaobj) in nvkm_fifo_chan_ctor() 378 ret = nvkm_object_bind(&dmaobj->object, chan->inst, -16, in nvkm_fifo_chan_ctor()
|