Lines Matching refs:rdi
16 void rvt_mmap_init(struct rvt_dev_info *rdi) in rvt_mmap_init() argument
18 INIT_LIST_HEAD(&rdi->pending_mmaps); in rvt_mmap_init()
19 spin_lock_init(&rdi->pending_lock); in rvt_mmap_init()
20 rdi->mmap_offset = PAGE_SIZE; in rvt_mmap_init()
21 spin_lock_init(&rdi->mmap_offset_lock); in rvt_mmap_init()
32 struct rvt_dev_info *rdi = ib_to_rvt(ip->context->device); in rvt_release_mmap_info() local
34 spin_lock_irq(&rdi->pending_lock); in rvt_release_mmap_info()
36 spin_unlock_irq(&rdi->pending_lock); in rvt_release_mmap_info()
70 struct rvt_dev_info *rdi = ib_to_rvt(context->device); in rvt_mmap() local
81 spin_lock_irq(&rdi->pending_lock); in rvt_mmap()
82 list_for_each_entry_safe(ip, pp, &rdi->pending_mmaps, in rvt_mmap()
92 spin_unlock_irq(&rdi->pending_lock); in rvt_mmap()
102 spin_unlock_irq(&rdi->pending_lock); in rvt_mmap()
116 struct rvt_mmap_info *rvt_create_mmap_info(struct rvt_dev_info *rdi, u32 size, in rvt_create_mmap_info() argument
124 ip = kmalloc_node(sizeof(*ip), GFP_KERNEL, rdi->dparms.node); in rvt_create_mmap_info()
130 spin_lock_irq(&rdi->mmap_offset_lock); in rvt_create_mmap_info()
131 if (rdi->mmap_offset == 0) in rvt_create_mmap_info()
132 rdi->mmap_offset = ALIGN(PAGE_SIZE, SHMLBA); in rvt_create_mmap_info()
133 ip->offset = rdi->mmap_offset; in rvt_create_mmap_info()
134 rdi->mmap_offset += ALIGN(size, SHMLBA); in rvt_create_mmap_info()
135 spin_unlock_irq(&rdi->mmap_offset_lock); in rvt_create_mmap_info()
155 void rvt_update_mmap_info(struct rvt_dev_info *rdi, struct rvt_mmap_info *ip, in rvt_update_mmap_info() argument
160 spin_lock_irq(&rdi->mmap_offset_lock); in rvt_update_mmap_info()
161 if (rdi->mmap_offset == 0) in rvt_update_mmap_info()
162 rdi->mmap_offset = PAGE_SIZE; in rvt_update_mmap_info()
163 ip->offset = rdi->mmap_offset; in rvt_update_mmap_info()
164 rdi->mmap_offset += size; in rvt_update_mmap_info()
165 spin_unlock_irq(&rdi->mmap_offset_lock); in rvt_update_mmap_info()