Lines Matching refs:ip
48 struct qib_mmap_info *ip = in qib_release_mmap_info() local
50 struct qib_ibdev *dev = to_idev(ip->context->device); in qib_release_mmap_info()
53 list_del(&ip->pending_mmaps); in qib_release_mmap_info()
56 vfree(ip->obj); in qib_release_mmap_info()
57 kfree(ip); in qib_release_mmap_info()
66 struct qib_mmap_info *ip = vma->vm_private_data; in qib_vma_open() local
68 kref_get(&ip->ref); in qib_vma_open()
73 struct qib_mmap_info *ip = vma->vm_private_data; in qib_vma_close() local
75 kref_put(&ip->ref, qib_release_mmap_info); in qib_vma_close()
94 struct qib_mmap_info *ip, *pp; in qib_mmap() local
103 list_for_each_entry_safe(ip, pp, &dev->pending_mmaps, in qib_mmap()
106 if (context != ip->context || (__u64) offset != ip->offset) in qib_mmap()
109 if (size > ip->size) in qib_mmap()
112 list_del_init(&ip->pending_mmaps); in qib_mmap()
115 ret = remap_vmalloc_range(vma, ip->obj, 0); in qib_mmap()
119 vma->vm_private_data = ip; in qib_mmap()
135 struct qib_mmap_info *ip; in qib_create_mmap_info() local
137 ip = kmalloc(sizeof(*ip), GFP_KERNEL); in qib_create_mmap_info()
138 if (!ip) in qib_create_mmap_info()
146 ip->offset = dev->mmap_offset; in qib_create_mmap_info()
150 INIT_LIST_HEAD(&ip->pending_mmaps); in qib_create_mmap_info()
151 ip->size = size; in qib_create_mmap_info()
152 ip->context = context; in qib_create_mmap_info()
153 ip->obj = obj; in qib_create_mmap_info()
154 kref_init(&ip->ref); in qib_create_mmap_info()
157 return ip; in qib_create_mmap_info()
160 void qib_update_mmap_info(struct qib_ibdev *dev, struct qib_mmap_info *ip, in qib_update_mmap_info() argument
168 ip->offset = dev->mmap_offset; in qib_update_mmap_info()
172 ip->size = size; in qib_update_mmap_info()
173 ip->obj = obj; in qib_update_mmap_info()