Lines Matching refs:vdata
145 struct vma_data *vdata; in mspec_open() local
147 vdata = vma->vm_private_data; in mspec_open()
148 refcount_inc(&vdata->refcnt); in mspec_open()
160 struct vma_data *vdata; in mspec_close() local
164 vdata = vma->vm_private_data; in mspec_close()
166 if (!refcount_dec_and_test(&vdata->refcnt)) in mspec_close()
169 last_index = (vdata->vm_end - vdata->vm_start) >> PAGE_SHIFT; in mspec_close()
171 if (vdata->maddr[index] == 0) in mspec_close()
177 my_page = vdata->maddr[index]; in mspec_close()
178 vdata->maddr[index] = 0; in mspec_close()
186 kvfree(vdata); in mspec_close()
200 struct vma_data *vdata = vmf->vma->vm_private_data; in mspec_fault() local
202 maddr = (volatile unsigned long) vdata->maddr[index]; in mspec_fault()
208 spin_lock(&vdata->lock); in mspec_fault()
209 if (vdata->maddr[index] == 0) { in mspec_fault()
210 vdata->count++; in mspec_fault()
211 vdata->maddr[index] = maddr; in mspec_fault()
214 maddr = vdata->maddr[index]; in mspec_fault()
216 spin_unlock(&vdata->lock); in mspec_fault()
219 if (vdata->type == MSPEC_FETCHOP) in mspec_fault()
246 struct vma_data *vdata; in mspec_mmap() local
261 vdata = kzalloc(vdata_size, GFP_KERNEL); in mspec_mmap()
263 vdata = vzalloc(vdata_size); in mspec_mmap()
264 if (!vdata) in mspec_mmap()
267 vdata->vm_start = vma->vm_start; in mspec_mmap()
268 vdata->vm_end = vma->vm_end; in mspec_mmap()
269 vdata->type = type; in mspec_mmap()
270 spin_lock_init(&vdata->lock); in mspec_mmap()
271 refcount_set(&vdata->refcnt, 1); in mspec_mmap()
272 vma->vm_private_data = vdata; in mspec_mmap()
275 if (vdata->type == MSPEC_FETCHOP || vdata->type == MSPEC_UNCACHED) in mspec_mmap()