• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-WNDR4500v2-V1.0.0.60_1.0.38/src/linux/linux-2.6/drivers/infiniband/hw/ehca/

Lines Matching defs:e_mr

141 	struct ehca_mr *e_mr;
186 e_mr = ehca_mr_new();
187 if (!e_mr) {
201 e_mr->flags |= EHCA_MR_FLAG_MAXMR;
202 ret = ehca_reg_maxmr(shca, e_mr, iova_start, mr_access_flags,
203 e_pd, &e_mr->ib.ib_mr.lkey,
204 &e_mr->ib.ib_mr.rkey);
218 ret = ehca_reg_mr(shca, e_mr, iova_start, size, mr_access_flags,
219 e_pd, &pginfo, &e_mr->ib.ib_mr.lkey,
220 &e_mr->ib.ib_mr.rkey);
228 return &e_mr->ib.ib_mr;
231 ehca_mr_delete(e_mr);
247 struct ehca_mr *e_mr;
282 e_mr = ehca_mr_new();
283 if (!e_mr) {
289 e_mr->umem = ib_umem_get(pd->uobject->context, start, length,
291 if (IS_ERR(e_mr->umem)) {
292 ib_mr = (void *) e_mr->umem;
296 if (e_mr->umem->page_size != PAGE_SIZE) {
298 "e_mr->umem->page_size=%x", e_mr->umem->page_size);
313 pginfo.region = e_mr->umem;
314 pginfo.next_4k = e_mr->umem->offset / EHCA_PAGESIZE;
316 (&e_mr->umem->chunk_list),
319 ret = ehca_reg_mr(shca, e_mr, (u64*) virt, length, mr_access_flags, e_pd,
320 &pginfo, &e_mr->ib.ib_mr.lkey, &e_mr->ib.ib_mr.rkey);
327 return &e_mr->ib.ib_mr;
330 ib_umem_release(e_mr->umem);
332 ehca_mr_delete(e_mr);
355 struct ehca_mr *e_mr = container_of(mr, struct ehca_mr, ib.ib_mr);
401 if (e_mr == shca->maxmr) {
410 if (e_mr->flags & EHCA_MR_FLAG_FMR) {
412 "flags=%x", mr, e_mr->flags);
440 spin_lock_irqsave(&e_mr->mrlock, sl_flags);
441 new_start = e_mr->start; /* new == old address */
442 new_size = e_mr->size; /* new == old length */
443 new_acl = e_mr->acl; /* new == old access control */
478 ret = ehca_rereg_mr(shca, e_mr, new_start, new_size, new_acl,
490 spin_unlock_irqrestore(&e_mr->mrlock, sl_flags);
509 struct ehca_mr *e_mr = container_of(mr, struct ehca_mr, ib.ib_mr);
523 if ((e_mr->flags & EHCA_MR_FLAG_FMR)) {
524 ehca_err(mr->device, "not supported for FMR, mr=%p e_mr=%p "
525 "e_mr->flags=%x", mr, e_mr, e_mr->flags);
531 spin_lock_irqsave(&e_mr->mrlock, sl_flags);
533 h_ret = hipz_h_query_mr(shca->ipz_hca_handle, e_mr, &hipzout);
538 e_mr->ipz_mr_handle.handle, mr->lkey);
550 spin_unlock_irqrestore(&e_mr->mrlock, sl_flags);
566 struct ehca_mr *e_mr = container_of(mr, struct ehca_mr, ib.ib_mr);
578 if ((e_mr->flags & EHCA_MR_FLAG_FMR)) {
579 ehca_err(mr->device, "not supported for FMR, mr=%p e_mr=%p "
580 "e_mr->flags=%x", mr, e_mr, e_mr->flags);
583 } else if (e_mr == shca->maxmr) {
593 h_ret = hipz_h_free_resource_mr(shca->ipz_hca_handle, e_mr);
596 "e_mr=%p hca_hndl=%lx mr_hndl=%lx mr->lkey=%x",
597 h_ret, shca, e_mr, shca->ipz_hca_handle.handle,
598 e_mr->ipz_mr_handle.handle, mr->lkey);
603 if (e_mr->umem)
604 ib_umem_release(e_mr->umem);
607 ehca_mr_delete(e_mr);
941 struct ehca_mr *e_mr,
960 h_ret = hipz_h_alloc_resource_mr(shca->ipz_hca_handle, e_mr,
970 e_mr->ipz_mr_handle = hipzout.handle;
972 ret = ehca_reg_mr_rpages(shca, e_mr, pginfo);
977 e_mr->num_pages = pginfo->num_pages;
978 e_mr->num_4k = pginfo->num_4k;
979 e_mr->start = iova_start;
980 e_mr->size = size;
981 e_mr->acl = acl;
987 h_ret = hipz_h_free_resource_mr(shca->ipz_hca_handle, e_mr);
989 ehca_err(&shca->ib_device, "h_ret=%lx shca=%p e_mr=%p "
992 h_ret, shca, e_mr, iova_start, size, acl, e_pd,
1000 ehca_err(&shca->ib_device, "ret=%x shca=%p e_mr=%p "
1003 ret, shca, e_mr, iova_start, size, acl, e_pd, pginfo,
1011 struct ehca_mr *e_mr,
1039 ret = ehca_set_pagebuf(e_mr, pginfo, rnum, kpage);
1055 ret = ehca_set_pagebuf_1(e_mr, pginfo, &rpage);
1064 h_ret = hipz_h_register_rpage_mr(shca->ipz_hca_handle, e_mr,
1076 "e_mr=%p i=%x hca_hndl=%lx mr_hndl=%lx"
1077 " lkey=%x", h_ret, e_mr, i,
1079 e_mr->ipz_mr_handle.handle,
1080 e_mr->ib.ib_mr.lkey);
1087 "h_ret=%lx e_mr=%p i=%x lkey=%x hca_hndl=%lx "
1088 "mr_hndl=%lx", h_ret, e_mr, i,
1089 e_mr->ib.ib_mr.lkey,
1091 e_mr->ipz_mr_handle.handle);
1103 ehca_err(&shca->ib_device, "ret=%x shca=%p e_mr=%p pginfo=%p "
1104 "num_pages=%lx num_4k=%lx", ret, shca, e_mr, pginfo,
1112 struct ehca_mr *e_mr,
1140 ret = ehca_set_pagebuf(e_mr, pginfo, pginfo->num_4k, kpage);
1142 ehca_err(&shca->ib_device, "set pagebuf failed, e_mr=%p "
1144 e_mr, pginfo, pginfo->type, pginfo->num_pages,
1154 h_ret = hipz_h_reregister_pmr(shca->ipz_hca_handle, e_mr,
1164 "(Rereg1), h_ret=%lx e_mr=%p", h_ret, e_mr);
1169 "rereg_pmr, iova_start=%p iova_start_out=%lx e_mr=%p "
1171 hipzout.vaddr, e_mr, e_mr->ipz_mr_handle.handle,
1172 e_mr->ib.ib_mr.lkey, hipzout.lkey);
1179 e_mr->num_pages = pginfo->num_pages;
1180 e_mr->num_4k = pginfo->num_4k;
1181 e_mr->start = iova_start;
1182 e_mr->size = size;
1183 e_mr->acl = acl;
1202 struct ehca_mr *e_mr,
1217 if ((pginfo->num_4k > 512) || (e_mr->num_4k > 512) ||
1218 (pginfo->num_4k > e_mr->num_4k)) {
1220 "e_mr->num_4k=%x", pginfo->num_4k, e_mr->num_4k);
1225 if (e_mr->flags & EHCA_MR_FLAG_MAXMR) { /* check for max-MR */
1228 e_mr->flags &= ~EHCA_MR_FLAG_MAXMR;
1229 ehca_err(&shca->ib_device, "Rereg MR for max-MR! e_mr=%p",
1230 e_mr);
1234 ret = ehca_rereg_mr_rereg1(shca, e_mr, iova_start, size,
1248 h_ret = hipz_h_free_resource_mr(shca->ipz_hca_handle, e_mr);
1251 "h_ret=%lx e_mr=%p hca_hndl=%lx mr_hndl=%lx "
1253 h_ret, e_mr, shca->ipz_hca_handle.handle,
1254 e_mr->ipz_mr_handle.handle,
1255 e_mr->ib.ib_mr.lkey);
1260 save_mr = *e_mr;
1261 ehca_mr_deletenew(e_mr);
1264 e_mr->flags = save_mr.flags;
1265 e_mr->fmr_page_size = save_mr.fmr_page_size;
1266 e_mr->fmr_max_pages = save_mr.fmr_max_pages;
1267 e_mr->fmr_max_maps = save_mr.fmr_max_maps;
1268 e_mr->fmr_map_cnt = save_mr.fmr_map_cnt;
1270 ret = ehca_reg_mr(shca, e_mr, iova_start, size, acl,
1273 u32 offset = (u64)(&e_mr->flags) - (u64)e_mr;
1274 memcpy(&e_mr->flags, &(save_mr.flags),
1282 ehca_err(&shca->ib_device, "ret=%x shca=%p e_mr=%p "
1285 "rereg_3_hcall=%x", ret, shca, e_mr, iova_start, size,
1453 struct ehca_mr *e_mr;
1461 e_mr = ehca_mr_new();
1462 if (!e_mr) {
1467 e_mr->flags |= EHCA_MR_FLAG_MAXMR;
1485 ret = ehca_reg_mr(shca, e_mr, iova_start, size_maxmr, 0, e_pd,
1486 &pginfo, &e_mr->ib.ib_mr.lkey,
1487 &e_mr->ib.ib_mr.rkey);
1490 "e_mr=%p iova_start=%p size_maxmr=%lx num_pages_mr=%x "
1491 "num_pages_4k=%x", e_mr, iova_start, size_maxmr,
1497 e_mr->ib.ib_mr.device = e_pd->ib_pd.device;
1498 e_mr->ib.ib_mr.pd = &e_pd->ib_pd;
1499 e_mr->ib.ib_mr.uobject = NULL;
1501 atomic_set(&(e_mr->ib.ib_mr.usecnt), 0);
1502 *e_maxmr = e_mr;
1506 ehca_mr_delete(e_mr);
1681 int ehca_set_pagebuf(struct ehca_mr *e_mr,
1765 i, pginfo->next_4k, e_mr);
1818 (e_mr->fmr_page_size / EHCA_PAGESIZE) == 0) {
1833 ehca_gen_err("ret=%x e_mr=%p pginfo=%p type=%x num_pages=%lx "
1837 "next_nmap=%lx", ret, e_mr, pginfo, pginfo->type,
1849 int ehca_set_pagebuf_1(struct ehca_mr *e_mr,
1912 e_mr);
1949 (e_mr->fmr_page_size / EHCA_PAGESIZE) == 0) {
1962 ehca_gen_err("ret=%x e_mr=%p pginfo=%p type=%x num_pages=%lx "
1965 "region=%p next_chunk=%p next_nmap=%lx", ret, e_mr,