Lines Matching refs:iobj
73 struct nv50_instobj *iobj = nv50_instobj(memory); in nv50_instobj_boot() local
74 struct nvkm_subdev *subdev = &iobj->imem->base.subdev; in nv50_instobj_boot()
80 iobj->map = ERR_PTR(-ENOMEM); in nv50_instobj_boot()
82 ret = nvkm_vm_get(vm, size, 12, NV_MEM_ACCESS_RW, &iobj->bar); in nv50_instobj_boot()
85 (u32)iobj->bar.offset, size); in nv50_instobj_boot()
87 nvkm_memory_map(memory, &iobj->bar, 0); in nv50_instobj_boot()
88 iobj->map = map; in nv50_instobj_boot()
91 nvkm_vm_put(&iobj->bar); in nv50_instobj_boot()
108 struct nv50_instobj *iobj = nv50_instobj(memory); in nv50_instobj_acquire() local
109 struct nv50_instmem *imem = iobj->imem; in nv50_instobj_acquire()
114 if (!iobj->map && (vm = nvkm_bar_kmap(bar))) in nv50_instobj_acquire()
116 if (!IS_ERR_OR_NULL(iobj->map)) in nv50_instobj_acquire()
117 return iobj->map; in nv50_instobj_acquire()
127 struct nv50_instobj *iobj = nv50_instobj(memory); in nv50_instobj_rd32() local
128 struct nv50_instmem *imem = iobj->imem; in nv50_instobj_rd32()
130 u64 base = (iobj->mem->offset + offset) & 0xffffff00000ULL; in nv50_instobj_rd32()
131 u64 addr = (iobj->mem->offset + offset) & 0x000000fffffULL; in nv50_instobj_rd32()
145 struct nv50_instobj *iobj = nv50_instobj(memory); in nv50_instobj_wr32() local
146 struct nv50_instmem *imem = iobj->imem; in nv50_instobj_wr32()
148 u64 base = (iobj->mem->offset + offset) & 0xffffff00000ULL; in nv50_instobj_wr32()
149 u64 addr = (iobj->mem->offset + offset) & 0x000000fffffULL; in nv50_instobj_wr32()
161 struct nv50_instobj *iobj = nv50_instobj(memory); in nv50_instobj_map() local
162 nvkm_vm_map_at(vma, offset, iobj->mem); in nv50_instobj_map()
168 struct nv50_instobj *iobj = nv50_instobj(memory); in nv50_instobj_dtor() local
169 struct nvkm_ram *ram = iobj->imem->base.subdev.device->fb->ram; in nv50_instobj_dtor()
170 if (!IS_ERR_OR_NULL(iobj->map)) { in nv50_instobj_dtor()
171 nvkm_vm_put(&iobj->bar); in nv50_instobj_dtor()
172 iounmap(iobj->map); in nv50_instobj_dtor()
174 ram->func->put(ram, &iobj->mem); in nv50_instobj_dtor()
175 return iobj; in nv50_instobj_dtor()
197 struct nv50_instobj *iobj; in nv50_instobj_new() local
201 if (!(iobj = kzalloc(sizeof(*iobj), GFP_KERNEL))) in nv50_instobj_new()
203 *pmemory = &iobj->memory; in nv50_instobj_new()
205 nvkm_memory_ctor(&nv50_instobj_func, &iobj->memory); in nv50_instobj_new()
206 iobj->imem = imem; in nv50_instobj_new()
211 ret = ram->func->get(ram, size, align, 0, 0x800, &iobj->mem); in nv50_instobj_new()
215 iobj->mem->page_shift = 12; in nv50_instobj_new()