Lines Matching full:imem
47 struct nv50_instmem *imem; member
59 struct nv50_instmem *imem = iobj->imem; in nv50_instobj_wr32_slow() local
60 struct nvkm_device *device = imem->base.subdev.device; in nv50_instobj_wr32_slow()
65 spin_lock_irqsave(&imem->base.lock, flags); in nv50_instobj_wr32_slow()
66 if (unlikely(imem->addr != base)) { in nv50_instobj_wr32_slow()
68 imem->addr = base; in nv50_instobj_wr32_slow()
71 spin_unlock_irqrestore(&imem->base.lock, flags); in nv50_instobj_wr32_slow()
78 struct nv50_instmem *imem = iobj->imem; in nv50_instobj_rd32_slow() local
79 struct nvkm_device *device = imem->base.subdev.device; in nv50_instobj_rd32_slow()
85 spin_lock_irqsave(&imem->base.lock, flags); in nv50_instobj_rd32_slow()
86 if (unlikely(imem->addr != base)) { in nv50_instobj_rd32_slow()
88 imem->addr = base; in nv50_instobj_rd32_slow()
91 spin_unlock_irqrestore(&imem->base.lock, flags); in nv50_instobj_rd32_slow()
122 struct nv50_instmem *imem = iobj->imem; in nv50_instobj_kmap() local
125 struct nvkm_subdev *subdev = &imem->base.subdev; in nv50_instobj_kmap()
142 eobj = list_first_entry_or_null(&imem->lru, typeof(*eobj), lru); in nv50_instobj_kmap()
194 struct nv50_instmem *imem = iobj->imem; in nv50_instobj_release() local
195 struct nvkm_subdev *subdev = &imem->base.subdev; in nv50_instobj_release()
206 list_add_tail(&iobj->lru, &imem->lru); in nv50_instobj_release()
219 struct nvkm_instmem *imem = &iobj->imem->base; in nv50_instobj_acquire() local
230 mutex_lock(&imem->subdev.mutex); in nv50_instobj_acquire()
232 mutex_unlock(&imem->subdev.mutex); in nv50_instobj_acquire()
237 if ((vmm = nvkm_bar_bar2_vmm(imem->subdev.device))) { in nv50_instobj_acquire()
255 mutex_unlock(&imem->subdev.mutex); in nv50_instobj_acquire()
263 struct nvkm_instmem *imem = &iobj->imem->base; in nv50_instobj_boot() local
268 mutex_lock(&imem->subdev.mutex); in nv50_instobj_boot()
275 nvkm_instmem_boot(imem); in nv50_instobj_boot()
276 mutex_unlock(&imem->subdev.mutex); in nv50_instobj_boot()
314 struct nvkm_instmem *imem = &iobj->imem->base; in nv50_instobj_dtor() local
318 mutex_lock(&imem->subdev.mutex); in nv50_instobj_dtor()
323 mutex_unlock(&imem->subdev.mutex); in nv50_instobj_dtor()
326 struct nvkm_vmm *vmm = nvkm_bar_bar2_vmm(imem->subdev.device); in nv50_instobj_dtor()
333 nvkm_instobj_dtor(imem, &iobj->base); in nv50_instobj_dtor()
354 struct nv50_instmem *imem = nv50_instmem(base); in nv50_instobj_new() local
356 struct nvkm_device *device = imem->base.subdev.device; in nv50_instobj_new()
363 nvkm_instobj_ctor(&nv50_instobj_func, &imem->base, &iobj->base); in nv50_instobj_new()
364 iobj->imem = imem; in nv50_instobj_new()
392 struct nv50_instmem *imem; in nv50_instmem_new() local
394 if (!(imem = kzalloc(sizeof(*imem), GFP_KERNEL))) in nv50_instmem_new()
396 nvkm_instmem_ctor(&nv50_instmem, device, index, &imem->base); in nv50_instmem_new()
397 INIT_LIST_HEAD(&imem->lru); in nv50_instmem_new()
398 *pimem = &imem->base; in nv50_instmem_new()