Lines Matching refs:vdata

91 	struct vma_data *vdata;  in mspec_open()  local
93 vdata = vma->vm_private_data; in mspec_open()
94 refcount_inc(&vdata->refcnt); in mspec_open()
106 struct vma_data *vdata; in mspec_close() local
110 vdata = vma->vm_private_data; in mspec_close()
112 if (!refcount_dec_and_test(&vdata->refcnt)) in mspec_close()
115 last_index = (vdata->vm_end - vdata->vm_start) >> PAGE_SHIFT; in mspec_close()
117 if (vdata->maddr[index] == 0) in mspec_close()
123 my_page = vdata->maddr[index]; in mspec_close()
124 vdata->maddr[index] = 0; in mspec_close()
129 kvfree(vdata); in mspec_close()
143 struct vma_data *vdata = vmf->vma->vm_private_data; in mspec_fault() local
145 maddr = (volatile unsigned long) vdata->maddr[index]; in mspec_fault()
151 spin_lock(&vdata->lock); in mspec_fault()
152 if (vdata->maddr[index] == 0) { in mspec_fault()
153 vdata->count++; in mspec_fault()
154 vdata->maddr[index] = maddr; in mspec_fault()
157 maddr = vdata->maddr[index]; in mspec_fault()
159 spin_unlock(&vdata->lock); in mspec_fault()
185 struct vma_data *vdata; in mspec_mmap() local
200 vdata = kzalloc(vdata_size, GFP_KERNEL); in mspec_mmap()
202 vdata = vzalloc(vdata_size); in mspec_mmap()
203 if (!vdata) in mspec_mmap()
206 vdata->vm_start = vma->vm_start; in mspec_mmap()
207 vdata->vm_end = vma->vm_end; in mspec_mmap()
208 vdata->type = type; in mspec_mmap()
209 spin_lock_init(&vdata->lock); in mspec_mmap()
210 refcount_set(&vdata->refcnt, 1); in mspec_mmap()
211 vma->vm_private_data = vdata; in mspec_mmap()
214 if (vdata->type == MSPEC_UNCACHED) in mspec_mmap()