Lines Matching refs:rdi
58 void rvt_mmap_init(struct rvt_dev_info *rdi) in rvt_mmap_init() argument
60 INIT_LIST_HEAD(&rdi->pending_mmaps); in rvt_mmap_init()
61 spin_lock_init(&rdi->pending_lock); in rvt_mmap_init()
62 rdi->mmap_offset = PAGE_SIZE; in rvt_mmap_init()
63 spin_lock_init(&rdi->mmap_offset_lock); in rvt_mmap_init()
74 struct rvt_dev_info *rdi = ib_to_rvt(ip->context->device); in rvt_release_mmap_info() local
76 spin_lock_irq(&rdi->pending_lock); in rvt_release_mmap_info()
78 spin_unlock_irq(&rdi->pending_lock); in rvt_release_mmap_info()
112 struct rvt_dev_info *rdi = ib_to_rvt(context->device); in rvt_mmap() local
123 spin_lock_irq(&rdi->pending_lock); in rvt_mmap()
124 list_for_each_entry_safe(ip, pp, &rdi->pending_mmaps, in rvt_mmap()
134 spin_unlock_irq(&rdi->pending_lock); in rvt_mmap()
144 spin_unlock_irq(&rdi->pending_lock); in rvt_mmap()
158 struct rvt_mmap_info *rvt_create_mmap_info(struct rvt_dev_info *rdi, u32 size, in rvt_create_mmap_info() argument
166 ip = kmalloc_node(sizeof(*ip), GFP_KERNEL, rdi->dparms.node); in rvt_create_mmap_info()
172 spin_lock_irq(&rdi->mmap_offset_lock); in rvt_create_mmap_info()
173 if (rdi->mmap_offset == 0) in rvt_create_mmap_info()
174 rdi->mmap_offset = ALIGN(PAGE_SIZE, SHMLBA); in rvt_create_mmap_info()
175 ip->offset = rdi->mmap_offset; in rvt_create_mmap_info()
176 rdi->mmap_offset += ALIGN(size, SHMLBA); in rvt_create_mmap_info()
177 spin_unlock_irq(&rdi->mmap_offset_lock); in rvt_create_mmap_info()
197 void rvt_update_mmap_info(struct rvt_dev_info *rdi, struct rvt_mmap_info *ip, in rvt_update_mmap_info() argument
202 spin_lock_irq(&rdi->mmap_offset_lock); in rvt_update_mmap_info()
203 if (rdi->mmap_offset == 0) in rvt_update_mmap_info()
204 rdi->mmap_offset = PAGE_SIZE; in rvt_update_mmap_info()
205 ip->offset = rdi->mmap_offset; in rvt_update_mmap_info()
206 rdi->mmap_offset += size; in rvt_update_mmap_info()
207 spin_unlock_irq(&rdi->mmap_offset_lock); in rvt_update_mmap_info()