• Home
  • Raw
  • Download

Lines Matching refs:aspace

14 	struct msm_gem_address_space *aspace = container_of(kref,  in msm_gem_address_space_destroy()  local
17 drm_mm_takedown(&aspace->mm); in msm_gem_address_space_destroy()
18 if (aspace->mmu) in msm_gem_address_space_destroy()
19 aspace->mmu->funcs->destroy(aspace->mmu); in msm_gem_address_space_destroy()
20 put_pid(aspace->pid); in msm_gem_address_space_destroy()
21 kfree(aspace); in msm_gem_address_space_destroy()
25 void msm_gem_address_space_put(struct msm_gem_address_space *aspace) in msm_gem_address_space_put() argument
27 if (aspace) in msm_gem_address_space_put()
28 kref_put(&aspace->kref, msm_gem_address_space_destroy); in msm_gem_address_space_put()
32 msm_gem_address_space_get(struct msm_gem_address_space *aspace) in msm_gem_address_space_get() argument
34 if (!IS_ERR_OR_NULL(aspace)) in msm_gem_address_space_get()
35 kref_get(&aspace->kref); in msm_gem_address_space_get()
37 return aspace; in msm_gem_address_space_get()
41 void msm_gem_purge_vma(struct msm_gem_address_space *aspace, in msm_gem_purge_vma() argument
54 if (aspace->mmu) in msm_gem_purge_vma()
55 aspace->mmu->funcs->unmap(aspace->mmu, vma->iova, size); in msm_gem_purge_vma()
61 void msm_gem_unmap_vma(struct msm_gem_address_space *aspace, in msm_gem_unmap_vma() argument
69 msm_gem_map_vma(struct msm_gem_address_space *aspace, in msm_gem_map_vma() argument
87 if (aspace && aspace->mmu) in msm_gem_map_vma()
88 ret = aspace->mmu->funcs->map(aspace->mmu, vma->iova, sgt, in msm_gem_map_vma()
100 void msm_gem_close_vma(struct msm_gem_address_space *aspace, in msm_gem_close_vma() argument
106 spin_lock(&aspace->lock); in msm_gem_close_vma()
109 spin_unlock(&aspace->lock); in msm_gem_close_vma()
113 msm_gem_address_space_put(aspace); in msm_gem_close_vma()
117 int msm_gem_init_vma(struct msm_gem_address_space *aspace, in msm_gem_init_vma() argument
126 spin_lock(&aspace->lock); in msm_gem_init_vma()
127 ret = drm_mm_insert_node_in_range(&aspace->mm, &vma->node, npages, 0, in msm_gem_init_vma()
129 spin_unlock(&aspace->lock); in msm_gem_init_vma()
137 kref_get(&aspace->kref); in msm_gem_init_vma()
146 struct msm_gem_address_space *aspace; in msm_gem_address_space_create() local
151 aspace = kzalloc(sizeof(*aspace), GFP_KERNEL); in msm_gem_address_space_create()
152 if (!aspace) in msm_gem_address_space_create()
155 spin_lock_init(&aspace->lock); in msm_gem_address_space_create()
156 aspace->name = name; in msm_gem_address_space_create()
157 aspace->mmu = mmu; in msm_gem_address_space_create()
159 drm_mm_init(&aspace->mm, va_start >> PAGE_SHIFT, size >> PAGE_SHIFT); in msm_gem_address_space_create()
161 kref_init(&aspace->kref); in msm_gem_address_space_create()
163 return aspace; in msm_gem_address_space_create()