Lines Matching refs:rkt
183 struct rvt_lkey_table *rkt = &dev->lkey_table; in rvt_alloc_lkey() local
186 spin_lock_irqsave(&rkt->lock, flags); in rvt_alloc_lkey()
203 r = rkt->next; in rvt_alloc_lkey()
206 if (!rcu_access_pointer(rkt->table[r])) in rvt_alloc_lkey()
208 r = (r + 1) & (rkt->max - 1); in rvt_alloc_lkey()
212 rkt->next = (r + 1) & (rkt->max - 1); in rvt_alloc_lkey()
217 rkt->gen++; in rvt_alloc_lkey()
222 ((((1 << (24 - dev->dparms.lkey_table_size)) - 1) & rkt->gen) in rvt_alloc_lkey()
226 rkt->gen++; in rvt_alloc_lkey()
230 rcu_assign_pointer(rkt->table[r], mr); in rvt_alloc_lkey()
232 spin_unlock_irqrestore(&rkt->lock, flags); in rvt_alloc_lkey()
237 spin_unlock_irqrestore(&rkt->lock, flags); in rvt_alloc_lkey()
252 struct rvt_lkey_table *rkt = &dev->lkey_table; in rvt_free_lkey() local
255 spin_lock_irqsave(&rkt->lock, flags); in rvt_free_lkey()
269 rcu_assign_pointer(rkt->table[r], NULL); in rvt_free_lkey()
273 spin_unlock_irqrestore(&rkt->lock, flags); in rvt_free_lkey()
693 struct rvt_lkey_table *rkt = &dev->lkey_table; in rvt_invalidate_rkey() local
701 rkt->table[(rkey >> (32 - dev->dparms.lkey_table_size))]); in rvt_invalidate_rkey()
787 struct rvt_lkey_table *rkt; in rvt_map_phys_fmr() local
801 rkt = &rdi->lkey_table; in rvt_map_phys_fmr()
802 spin_lock_irqsave(&rkt->lock, flags); in rvt_map_phys_fmr()
818 spin_unlock_irqrestore(&rkt->lock, flags); in rvt_map_phys_fmr()
831 struct rvt_lkey_table *rkt; in rvt_unmap_fmr() local
837 rkt = &rdi->lkey_table; in rvt_unmap_fmr()
838 spin_lock_irqsave(&rkt->lock, flags); in rvt_unmap_fmr()
842 spin_unlock_irqrestore(&rkt->lock, flags); in rvt_unmap_fmr()
913 int rvt_lkey_ok(struct rvt_lkey_table *rkt, struct rvt_pd *pd, in rvt_lkey_ok() argument
950 mr = rcu_dereference(rkt->table[sge->lkey >> rkt->shift]); in rvt_lkey_ok()
1027 struct rvt_lkey_table *rkt = &dev->lkey_table; in rvt_rkey_ok() local
1058 mr = rcu_dereference(rkt->table[rkey >> rkt->shift]); in rvt_rkey_ok()