Lines Matching refs:mem
497 __nv50_ram_put(struct nvkm_ram *ram, struct nvkm_mem *mem) in __nv50_ram_put() argument
501 while (!list_empty(&mem->regions)) { in __nv50_ram_put()
502 this = list_first_entry(&mem->regions, typeof(*this), rl_entry); in __nv50_ram_put()
508 nvkm_mm_free(&ram->tags, &mem->tag); in __nv50_ram_put()
514 struct nvkm_mem *mem = *pmem; in nv50_ram_put() local
517 if (unlikely(mem == NULL)) in nv50_ram_put()
521 __nv50_ram_put(ram, mem); in nv50_ram_put()
524 kfree(mem); in nv50_ram_put()
534 struct nvkm_mem *mem; in nv50_ram_get() local
544 mem = kzalloc(sizeof(*mem), GFP_KERNEL); in nv50_ram_get()
545 if (!mem) in nv50_ram_get()
553 ret = nvkm_mm_head(tags, 0, 1, n, n, 1, &mem->tag); in nv50_ram_get()
555 mem->tag = NULL; in nv50_ram_get()
558 if (unlikely(!mem->tag)) in nv50_ram_get()
562 INIT_LIST_HEAD(&mem->regions); in nv50_ram_get()
563 mem->memtype = (comp << 7) | type; in nv50_ram_get()
564 mem->size = max; in nv50_ram_get()
574 ram->func->put(ram, &mem); in nv50_ram_get()
578 list_add_tail(&r->rl_entry, &mem->regions); in nv50_ram_get()
583 r = list_first_entry(&mem->regions, struct nvkm_mm_node, rl_entry); in nv50_ram_get()
584 mem->offset = (u64)r->offset << NVKM_RAM_MM_SHIFT; in nv50_ram_get()
585 *pmem = mem; in nv50_ram_get()