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