search for: gk20a_instobj_recycle_vaddr

Displaying 4 results from an estimated 4 matches for "gk20a_instobj_recycle_vaddr".

2015 Nov 09
2
[PATCH] instmem/gk20a: fix race conditions
...k20a_instobj(p) container_of((p), struct gk20a_instobj, memory) @@ -158,27 +160,35 @@ gk20a_instobj_cpu_map_iommu(struct nvkm_memory *memory) } /* - * Must be called while holding gk20a_instmem_lock + * Recycle the vaddr of obj. Must be called with gk20a_instmem::lock held. + */ +static void +gk20a_instobj_recycle_vaddr(struct gk20a_instobj *obj) +{ + struct gk20a_instmem *imem = obj->imem; + /* there should not be any user left... */ + WARN_ON(obj->use_cpt); + list_del(&obj->vaddr_node); + vunmap(obj->vaddr); + obj->vaddr = NULL; + imem->vaddr_use -= nvkm_memory_size(&obj->memory); +...
2015 Nov 11
0
[PATCH] instmem/gk20a: fix race conditions
...tobj, memory) > > @@ -158,27 +160,35 @@ gk20a_instobj_cpu_map_iommu(struct nvkm_memory *memory) > } > > /* > - * Must be called while holding gk20a_instmem_lock > + * Recycle the vaddr of obj. Must be called with gk20a_instmem::lock held. > + */ > +static void > +gk20a_instobj_recycle_vaddr(struct gk20a_instobj *obj) > +{ > + struct gk20a_instmem *imem = obj->imem; > + /* there should not be any user left... */ > + WARN_ON(obj->use_cpt); > + list_del(&obj->vaddr_node); > + vunmap(obj->vaddr); > + obj->vaddr = NULL; > + imem->vaddr_use -= n...
2015 Nov 11
2
[PATCH] instmem/gk20a: use DMA API CPU mapping
...a_instobj_iommu *node = gk20a_instobj_iommu(memory); - int npages = nvkm_memory_size(memory) >> 12; - - return vmap(node->pages, npages, VM_MAP, - pgprot_writecombine(PAGE_KERNEL)); -} - /* * Recycle the vaddr of obj. Must be called with gk20a_instmem::lock held. */ static void -gk20a_instobj_recycle_vaddr(struct gk20a_instobj *obj) +gk20a_instobj_iommu_recycle_vaddr(struct gk20a_instobj_iommu *obj) { - struct gk20a_instmem *imem = obj->imem; + struct gk20a_instmem *imem = obj->base.imem; /* there should not be any user left... */ WARN_ON(obj->use_cpt); list_del(&obj->vaddr_nod...
2015 Nov 11
0
[PATCH] instmem/gk20a: use DMA API CPU mapping
...t; - int npages = nvkm_memory_size(memory) >> 12; > - > - return vmap(node->pages, npages, VM_MAP, > - pgprot_writecombine(PAGE_KERNEL)); > -} > - > /* > * Recycle the vaddr of obj. Must be called with gk20a_instmem::lock held. > */ > static void > -gk20a_instobj_recycle_vaddr(struct gk20a_instobj *obj) > +gk20a_instobj_iommu_recycle_vaddr(struct gk20a_instobj_iommu *obj) > { > - struct gk20a_instmem *imem = obj->imem; > + struct gk20a_instmem *imem = obj->base.imem; > /* there should not be any user left... */ > WARN_ON(obj->use_cpt); &gt...