Lines Matching refs:pd
52 static struct mthca_ah_page *__add_page(struct mthca_pd *pd, int page_size, int per_page) in __add_page() argument
66 page->mr = mthca_reg_mr(&pd->ibv_pd, page->buf.buf, page_size, 0); in __add_page()
73 page->mr->context = pd->ibv_pd.context; in __add_page()
80 page->next = pd->ah_list; in __add_page()
81 pd->ah_list = page; in __add_page()
88 int mthca_alloc_av(struct mthca_pd *pd, struct ibv_ah_attr *attr, in mthca_alloc_av() argument
91 if (mthca_is_memfree(pd->ibv_pd.context)) { in mthca_alloc_av()
101 ps = to_mdev(pd->ibv_pd.context->device)->page_size; in mthca_alloc_av()
104 pthread_mutex_lock(&pd->ah_mutex); in mthca_alloc_av()
105 for (page = pd->ah_list; page; page = page->next) in mthca_alloc_av()
111 page = __add_page(pd, ps, pp); in mthca_alloc_av()
113 pthread_mutex_unlock(&pd->ah_mutex); in mthca_alloc_av()
132 pthread_mutex_unlock(&pd->ah_mutex); in mthca_alloc_av()
137 ah->av->port_pd = htonl(pd->pdn | (attr->port_num << 24)); in mthca_alloc_av()
166 struct mthca_pd *pd = to_mpd(ah->ibv_ah.pd); in mthca_free_av() local
170 pthread_mutex_lock(&pd->ah_mutex); in mthca_free_av()
180 pd->ah_list = page->next; in mthca_free_av()
189 pthread_mutex_unlock(&pd->ah_mutex); in mthca_free_av()