Lines Matching refs:rkt
184 struct rvt_lkey_table *rkt = &dev->lkey_table; in rvt_alloc_lkey() local
187 spin_lock_irqsave(&rkt->lock, flags); in rvt_alloc_lkey()
204 r = rkt->next; in rvt_alloc_lkey()
207 if (!rcu_access_pointer(rkt->table[r])) in rvt_alloc_lkey()
209 r = (r + 1) & (rkt->max - 1); in rvt_alloc_lkey()
213 rkt->next = (r + 1) & (rkt->max - 1); in rvt_alloc_lkey()
218 rkt->gen++; in rvt_alloc_lkey()
223 ((((1 << (24 - dev->dparms.lkey_table_size)) - 1) & rkt->gen) in rvt_alloc_lkey()
227 rkt->gen++; in rvt_alloc_lkey()
231 rcu_assign_pointer(rkt->table[r], mr); in rvt_alloc_lkey()
233 spin_unlock_irqrestore(&rkt->lock, flags); in rvt_alloc_lkey()
238 spin_unlock_irqrestore(&rkt->lock, flags); in rvt_alloc_lkey()
253 struct rvt_lkey_table *rkt = &dev->lkey_table; in rvt_free_lkey() local
256 spin_lock_irqsave(&rkt->lock, flags); in rvt_free_lkey()
270 rcu_assign_pointer(rkt->table[r], NULL); in rvt_free_lkey()
274 spin_unlock_irqrestore(&rkt->lock, flags); in rvt_free_lkey()
691 struct rvt_lkey_table *rkt = &dev->lkey_table; in rvt_invalidate_rkey() local
699 rkt->table[(rkey >> (32 - dev->dparms.lkey_table_size))]); in rvt_invalidate_rkey()
757 int rvt_lkey_ok(struct rvt_lkey_table *rkt, struct rvt_pd *pd, in rvt_lkey_ok() argument
794 mr = rcu_dereference(rkt->table[sge->lkey >> rkt->shift]); in rvt_lkey_ok()
871 struct rvt_lkey_table *rkt = &dev->lkey_table; in rvt_rkey_ok() local
902 mr = rcu_dereference(rkt->table[rkey >> rkt->shift]); in rvt_rkey_ok()