diff options
Diffstat (limited to 'drivers/infiniband/hw/ehca/ehca_mrmw.c')
-rw-r--r-- | drivers/infiniband/hw/ehca/ehca_mrmw.c | 102 |
1 files changed, 51 insertions, 51 deletions
diff --git a/drivers/infiniband/hw/ehca/ehca_mrmw.c b/drivers/infiniband/hw/ehca/ehca_mrmw.c index d97eda3e1da0..da88738265ed 100644 --- a/drivers/infiniband/hw/ehca/ehca_mrmw.c +++ b/drivers/infiniband/hw/ehca/ehca_mrmw.c | |||
@@ -51,6 +51,7 @@ | |||
51 | 51 | ||
52 | #define NUM_CHUNKS(length, chunk_size) \ | 52 | #define NUM_CHUNKS(length, chunk_size) \ |
53 | (((length) + (chunk_size - 1)) / (chunk_size)) | 53 | (((length) + (chunk_size - 1)) / (chunk_size)) |
54 | |||
54 | /* max number of rpages (per hcall register_rpages) */ | 55 | /* max number of rpages (per hcall register_rpages) */ |
55 | #define MAX_RPAGES 512 | 56 | #define MAX_RPAGES 512 |
56 | 57 | ||
@@ -64,6 +65,11 @@ enum ehca_mr_pgsize { | |||
64 | EHCA_MR_PGSIZE16M = 0x1000000L | 65 | EHCA_MR_PGSIZE16M = 0x1000000L |
65 | }; | 66 | }; |
66 | 67 | ||
68 | #define EHCA_MR_PGSHIFT4K 12 | ||
69 | #define EHCA_MR_PGSHIFT64K 16 | ||
70 | #define EHCA_MR_PGSHIFT1M 20 | ||
71 | #define EHCA_MR_PGSHIFT16M 24 | ||
72 | |||
67 | static u32 ehca_encode_hwpage_size(u32 pgsize) | 73 | static u32 ehca_encode_hwpage_size(u32 pgsize) |
68 | { | 74 | { |
69 | u32 idx = 0; | 75 | u32 idx = 0; |
@@ -159,7 +165,7 @@ struct ib_mr *ehca_get_dma_mr(struct ib_pd *pd, int mr_access_flags) | |||
159 | 165 | ||
160 | get_dma_mr_exit0: | 166 | get_dma_mr_exit0: |
161 | if (IS_ERR(ib_mr)) | 167 | if (IS_ERR(ib_mr)) |
162 | ehca_err(&shca->ib_device, "rc=%lx pd=%p mr_access_flags=%x ", | 168 | ehca_err(&shca->ib_device, "h_ret=%li pd=%p mr_access_flags=%x", |
163 | PTR_ERR(ib_mr), pd, mr_access_flags); | 169 | PTR_ERR(ib_mr), pd, mr_access_flags); |
164 | return ib_mr; | 170 | return ib_mr; |
165 | } /* end ehca_get_dma_mr() */ | 171 | } /* end ehca_get_dma_mr() */ |
@@ -271,7 +277,7 @@ reg_phys_mr_exit1: | |||
271 | ehca_mr_delete(e_mr); | 277 | ehca_mr_delete(e_mr); |
272 | reg_phys_mr_exit0: | 278 | reg_phys_mr_exit0: |
273 | if (IS_ERR(ib_mr)) | 279 | if (IS_ERR(ib_mr)) |
274 | ehca_err(pd->device, "rc=%lx pd=%p phys_buf_array=%p " | 280 | ehca_err(pd->device, "h_ret=%li pd=%p phys_buf_array=%p " |
275 | "num_phys_buf=%x mr_access_flags=%x iova_start=%p", | 281 | "num_phys_buf=%x mr_access_flags=%x iova_start=%p", |
276 | PTR_ERR(ib_mr), pd, phys_buf_array, | 282 | PTR_ERR(ib_mr), pd, phys_buf_array, |
277 | num_phys_buf, mr_access_flags, iova_start); | 283 | num_phys_buf, mr_access_flags, iova_start); |
@@ -347,17 +353,16 @@ struct ib_mr *ehca_reg_user_mr(struct ib_pd *pd, u64 start, u64 length, | |||
347 | /* select proper hw_pgsize */ | 353 | /* select proper hw_pgsize */ |
348 | if (ehca_mr_largepage && | 354 | if (ehca_mr_largepage && |
349 | (shca->hca_cap_mr_pgsize & HCA_CAP_MR_PGSIZE_16M)) { | 355 | (shca->hca_cap_mr_pgsize & HCA_CAP_MR_PGSIZE_16M)) { |
350 | if (length <= EHCA_MR_PGSIZE4K | 356 | int page_shift = PAGE_SHIFT; |
351 | && PAGE_SIZE == EHCA_MR_PGSIZE4K) | 357 | if (e_mr->umem->hugetlb) { |
352 | hwpage_size = EHCA_MR_PGSIZE4K; | 358 | /* determine page_shift, clamp between 4K and 16M */ |
353 | else if (length <= EHCA_MR_PGSIZE64K) | 359 | page_shift = (fls64(length - 1) + 3) & ~3; |
354 | hwpage_size = EHCA_MR_PGSIZE64K; | 360 | page_shift = min(max(page_shift, EHCA_MR_PGSHIFT4K), |
355 | else if (length <= EHCA_MR_PGSIZE1M) | 361 | EHCA_MR_PGSHIFT16M); |
356 | hwpage_size = EHCA_MR_PGSIZE1M; | 362 | } |
357 | else | 363 | hwpage_size = 1UL << page_shift; |
358 | hwpage_size = EHCA_MR_PGSIZE16M; | ||
359 | } else | 364 | } else |
360 | hwpage_size = EHCA_MR_PGSIZE4K; | 365 | hwpage_size = EHCA_MR_PGSIZE4K; /* ehca1 only supports 4k */ |
361 | ehca_dbg(pd->device, "hwpage_size=%lx", hwpage_size); | 366 | ehca_dbg(pd->device, "hwpage_size=%lx", hwpage_size); |
362 | 367 | ||
363 | reg_user_mr_fallback: | 368 | reg_user_mr_fallback: |
@@ -403,8 +408,7 @@ reg_user_mr_exit1: | |||
403 | ehca_mr_delete(e_mr); | 408 | ehca_mr_delete(e_mr); |
404 | reg_user_mr_exit0: | 409 | reg_user_mr_exit0: |
405 | if (IS_ERR(ib_mr)) | 410 | if (IS_ERR(ib_mr)) |
406 | ehca_err(pd->device, "rc=%lx pd=%p mr_access_flags=%x" | 411 | ehca_err(pd->device, "rc=%li pd=%p mr_access_flags=%x udata=%p", |
407 | " udata=%p", | ||
408 | PTR_ERR(ib_mr), pd, mr_access_flags, udata); | 412 | PTR_ERR(ib_mr), pd, mr_access_flags, udata); |
409 | return ib_mr; | 413 | return ib_mr; |
410 | } /* end ehca_reg_user_mr() */ | 414 | } /* end ehca_reg_user_mr() */ |
@@ -565,7 +569,7 @@ rereg_phys_mr_exit1: | |||
565 | spin_unlock_irqrestore(&e_mr->mrlock, sl_flags); | 569 | spin_unlock_irqrestore(&e_mr->mrlock, sl_flags); |
566 | rereg_phys_mr_exit0: | 570 | rereg_phys_mr_exit0: |
567 | if (ret) | 571 | if (ret) |
568 | ehca_err(mr->device, "ret=%x mr=%p mr_rereg_mask=%x pd=%p " | 572 | ehca_err(mr->device, "ret=%i mr=%p mr_rereg_mask=%x pd=%p " |
569 | "phys_buf_array=%p num_phys_buf=%x mr_access_flags=%x " | 573 | "phys_buf_array=%p num_phys_buf=%x mr_access_flags=%x " |
570 | "iova_start=%p", | 574 | "iova_start=%p", |
571 | ret, mr, mr_rereg_mask, pd, phys_buf_array, | 575 | ret, mr, mr_rereg_mask, pd, phys_buf_array, |
@@ -607,7 +611,7 @@ int ehca_query_mr(struct ib_mr *mr, struct ib_mr_attr *mr_attr) | |||
607 | 611 | ||
608 | h_ret = hipz_h_query_mr(shca->ipz_hca_handle, e_mr, &hipzout); | 612 | h_ret = hipz_h_query_mr(shca->ipz_hca_handle, e_mr, &hipzout); |
609 | if (h_ret != H_SUCCESS) { | 613 | if (h_ret != H_SUCCESS) { |
610 | ehca_err(mr->device, "hipz_mr_query failed, h_ret=%lx mr=%p " | 614 | ehca_err(mr->device, "hipz_mr_query failed, h_ret=%li mr=%p " |
611 | "hca_hndl=%lx mr_hndl=%lx lkey=%x", | 615 | "hca_hndl=%lx mr_hndl=%lx lkey=%x", |
612 | h_ret, mr, shca->ipz_hca_handle.handle, | 616 | h_ret, mr, shca->ipz_hca_handle.handle, |
613 | e_mr->ipz_mr_handle.handle, mr->lkey); | 617 | e_mr->ipz_mr_handle.handle, mr->lkey); |
@@ -625,7 +629,7 @@ query_mr_exit1: | |||
625 | spin_unlock_irqrestore(&e_mr->mrlock, sl_flags); | 629 | spin_unlock_irqrestore(&e_mr->mrlock, sl_flags); |
626 | query_mr_exit0: | 630 | query_mr_exit0: |
627 | if (ret) | 631 | if (ret) |
628 | ehca_err(mr->device, "ret=%x mr=%p mr_attr=%p", | 632 | ehca_err(mr->device, "ret=%i mr=%p mr_attr=%p", |
629 | ret, mr, mr_attr); | 633 | ret, mr, mr_attr); |
630 | return ret; | 634 | return ret; |
631 | } /* end ehca_query_mr() */ | 635 | } /* end ehca_query_mr() */ |
@@ -667,7 +671,7 @@ int ehca_dereg_mr(struct ib_mr *mr) | |||
667 | /* TODO: BUSY: MR still has bound window(s) */ | 671 | /* TODO: BUSY: MR still has bound window(s) */ |
668 | h_ret = hipz_h_free_resource_mr(shca->ipz_hca_handle, e_mr); | 672 | h_ret = hipz_h_free_resource_mr(shca->ipz_hca_handle, e_mr); |
669 | if (h_ret != H_SUCCESS) { | 673 | if (h_ret != H_SUCCESS) { |
670 | ehca_err(mr->device, "hipz_free_mr failed, h_ret=%lx shca=%p " | 674 | ehca_err(mr->device, "hipz_free_mr failed, h_ret=%li shca=%p " |
671 | "e_mr=%p hca_hndl=%lx mr_hndl=%lx mr->lkey=%x", | 675 | "e_mr=%p hca_hndl=%lx mr_hndl=%lx mr->lkey=%x", |
672 | h_ret, shca, e_mr, shca->ipz_hca_handle.handle, | 676 | h_ret, shca, e_mr, shca->ipz_hca_handle.handle, |
673 | e_mr->ipz_mr_handle.handle, mr->lkey); | 677 | e_mr->ipz_mr_handle.handle, mr->lkey); |
@@ -683,7 +687,7 @@ int ehca_dereg_mr(struct ib_mr *mr) | |||
683 | 687 | ||
684 | dereg_mr_exit0: | 688 | dereg_mr_exit0: |
685 | if (ret) | 689 | if (ret) |
686 | ehca_err(mr->device, "ret=%x mr=%p", ret, mr); | 690 | ehca_err(mr->device, "ret=%i mr=%p", ret, mr); |
687 | return ret; | 691 | return ret; |
688 | } /* end ehca_dereg_mr() */ | 692 | } /* end ehca_dereg_mr() */ |
689 | 693 | ||
@@ -708,7 +712,7 @@ struct ib_mw *ehca_alloc_mw(struct ib_pd *pd) | |||
708 | h_ret = hipz_h_alloc_resource_mw(shca->ipz_hca_handle, e_mw, | 712 | h_ret = hipz_h_alloc_resource_mw(shca->ipz_hca_handle, e_mw, |
709 | e_pd->fw_pd, &hipzout); | 713 | e_pd->fw_pd, &hipzout); |
710 | if (h_ret != H_SUCCESS) { | 714 | if (h_ret != H_SUCCESS) { |
711 | ehca_err(pd->device, "hipz_mw_allocate failed, h_ret=%lx " | 715 | ehca_err(pd->device, "hipz_mw_allocate failed, h_ret=%li " |
712 | "shca=%p hca_hndl=%lx mw=%p", | 716 | "shca=%p hca_hndl=%lx mw=%p", |
713 | h_ret, shca, shca->ipz_hca_handle.handle, e_mw); | 717 | h_ret, shca, shca->ipz_hca_handle.handle, e_mw); |
714 | ib_mw = ERR_PTR(ehca2ib_return_code(h_ret)); | 718 | ib_mw = ERR_PTR(ehca2ib_return_code(h_ret)); |
@@ -723,7 +727,7 @@ alloc_mw_exit1: | |||
723 | ehca_mw_delete(e_mw); | 727 | ehca_mw_delete(e_mw); |
724 | alloc_mw_exit0: | 728 | alloc_mw_exit0: |
725 | if (IS_ERR(ib_mw)) | 729 | if (IS_ERR(ib_mw)) |
726 | ehca_err(pd->device, "rc=%lx pd=%p", PTR_ERR(ib_mw), pd); | 730 | ehca_err(pd->device, "h_ret=%li pd=%p", PTR_ERR(ib_mw), pd); |
727 | return ib_mw; | 731 | return ib_mw; |
728 | } /* end ehca_alloc_mw() */ | 732 | } /* end ehca_alloc_mw() */ |
729 | 733 | ||
@@ -750,7 +754,7 @@ int ehca_dealloc_mw(struct ib_mw *mw) | |||
750 | 754 | ||
751 | h_ret = hipz_h_free_resource_mw(shca->ipz_hca_handle, e_mw); | 755 | h_ret = hipz_h_free_resource_mw(shca->ipz_hca_handle, e_mw); |
752 | if (h_ret != H_SUCCESS) { | 756 | if (h_ret != H_SUCCESS) { |
753 | ehca_err(mw->device, "hipz_free_mw failed, h_ret=%lx shca=%p " | 757 | ehca_err(mw->device, "hipz_free_mw failed, h_ret=%li shca=%p " |
754 | "mw=%p rkey=%x hca_hndl=%lx mw_hndl=%lx", | 758 | "mw=%p rkey=%x hca_hndl=%lx mw_hndl=%lx", |
755 | h_ret, shca, mw, mw->rkey, shca->ipz_hca_handle.handle, | 759 | h_ret, shca, mw, mw->rkey, shca->ipz_hca_handle.handle, |
756 | e_mw->ipz_mw_handle.handle); | 760 | e_mw->ipz_mw_handle.handle); |
@@ -846,10 +850,6 @@ struct ib_fmr *ehca_alloc_fmr(struct ib_pd *pd, | |||
846 | alloc_fmr_exit1: | 850 | alloc_fmr_exit1: |
847 | ehca_mr_delete(e_fmr); | 851 | ehca_mr_delete(e_fmr); |
848 | alloc_fmr_exit0: | 852 | alloc_fmr_exit0: |
849 | if (IS_ERR(ib_fmr)) | ||
850 | ehca_err(pd->device, "rc=%lx pd=%p mr_access_flags=%x " | ||
851 | "fmr_attr=%p", PTR_ERR(ib_fmr), pd, | ||
852 | mr_access_flags, fmr_attr); | ||
853 | return ib_fmr; | 853 | return ib_fmr; |
854 | } /* end ehca_alloc_fmr() */ | 854 | } /* end ehca_alloc_fmr() */ |
855 | 855 | ||
@@ -916,7 +916,7 @@ int ehca_map_phys_fmr(struct ib_fmr *fmr, | |||
916 | 916 | ||
917 | map_phys_fmr_exit0: | 917 | map_phys_fmr_exit0: |
918 | if (ret) | 918 | if (ret) |
919 | ehca_err(fmr->device, "ret=%x fmr=%p page_list=%p list_len=%x " | 919 | ehca_err(fmr->device, "ret=%i fmr=%p page_list=%p list_len=%x " |
920 | "iova=%lx", ret, fmr, page_list, list_len, iova); | 920 | "iova=%lx", ret, fmr, page_list, list_len, iova); |
921 | return ret; | 921 | return ret; |
922 | } /* end ehca_map_phys_fmr() */ | 922 | } /* end ehca_map_phys_fmr() */ |
@@ -979,7 +979,7 @@ int ehca_unmap_fmr(struct list_head *fmr_list) | |||
979 | 979 | ||
980 | unmap_fmr_exit0: | 980 | unmap_fmr_exit0: |
981 | if (ret) | 981 | if (ret) |
982 | ehca_gen_err("ret=%x fmr_list=%p num_fmr=%x unmap_fmr_cnt=%x", | 982 | ehca_gen_err("ret=%i fmr_list=%p num_fmr=%x unmap_fmr_cnt=%x", |
983 | ret, fmr_list, num_fmr, unmap_fmr_cnt); | 983 | ret, fmr_list, num_fmr, unmap_fmr_cnt); |
984 | return ret; | 984 | return ret; |
985 | } /* end ehca_unmap_fmr() */ | 985 | } /* end ehca_unmap_fmr() */ |
@@ -1003,7 +1003,7 @@ int ehca_dealloc_fmr(struct ib_fmr *fmr) | |||
1003 | 1003 | ||
1004 | h_ret = hipz_h_free_resource_mr(shca->ipz_hca_handle, e_fmr); | 1004 | h_ret = hipz_h_free_resource_mr(shca->ipz_hca_handle, e_fmr); |
1005 | if (h_ret != H_SUCCESS) { | 1005 | if (h_ret != H_SUCCESS) { |
1006 | ehca_err(fmr->device, "hipz_free_mr failed, h_ret=%lx e_fmr=%p " | 1006 | ehca_err(fmr->device, "hipz_free_mr failed, h_ret=%li e_fmr=%p " |
1007 | "hca_hndl=%lx fmr_hndl=%lx fmr->lkey=%x", | 1007 | "hca_hndl=%lx fmr_hndl=%lx fmr->lkey=%x", |
1008 | h_ret, e_fmr, shca->ipz_hca_handle.handle, | 1008 | h_ret, e_fmr, shca->ipz_hca_handle.handle, |
1009 | e_fmr->ipz_mr_handle.handle, fmr->lkey); | 1009 | e_fmr->ipz_mr_handle.handle, fmr->lkey); |
@@ -1016,7 +1016,7 @@ int ehca_dealloc_fmr(struct ib_fmr *fmr) | |||
1016 | 1016 | ||
1017 | free_fmr_exit0: | 1017 | free_fmr_exit0: |
1018 | if (ret) | 1018 | if (ret) |
1019 | ehca_err(&shca->ib_device, "ret=%x fmr=%p", ret, fmr); | 1019 | ehca_err(&shca->ib_device, "ret=%i fmr=%p", ret, fmr); |
1020 | return ret; | 1020 | return ret; |
1021 | } /* end ehca_dealloc_fmr() */ | 1021 | } /* end ehca_dealloc_fmr() */ |
1022 | 1022 | ||
@@ -1046,7 +1046,7 @@ int ehca_reg_mr(struct ehca_shca *shca, | |||
1046 | (u64)iova_start, size, hipz_acl, | 1046 | (u64)iova_start, size, hipz_acl, |
1047 | e_pd->fw_pd, &hipzout); | 1047 | e_pd->fw_pd, &hipzout); |
1048 | if (h_ret != H_SUCCESS) { | 1048 | if (h_ret != H_SUCCESS) { |
1049 | ehca_err(&shca->ib_device, "hipz_alloc_mr failed, h_ret=%lx " | 1049 | ehca_err(&shca->ib_device, "hipz_alloc_mr failed, h_ret=%li " |
1050 | "hca_hndl=%lx", h_ret, shca->ipz_hca_handle.handle); | 1050 | "hca_hndl=%lx", h_ret, shca->ipz_hca_handle.handle); |
1051 | ret = ehca2ib_return_code(h_ret); | 1051 | ret = ehca2ib_return_code(h_ret); |
1052 | goto ehca_reg_mr_exit0; | 1052 | goto ehca_reg_mr_exit0; |
@@ -1072,9 +1072,9 @@ int ehca_reg_mr(struct ehca_shca *shca, | |||
1072 | ehca_reg_mr_exit1: | 1072 | ehca_reg_mr_exit1: |
1073 | h_ret = hipz_h_free_resource_mr(shca->ipz_hca_handle, e_mr); | 1073 | h_ret = hipz_h_free_resource_mr(shca->ipz_hca_handle, e_mr); |
1074 | if (h_ret != H_SUCCESS) { | 1074 | if (h_ret != H_SUCCESS) { |
1075 | ehca_err(&shca->ib_device, "h_ret=%lx shca=%p e_mr=%p " | 1075 | ehca_err(&shca->ib_device, "h_ret=%li shca=%p e_mr=%p " |
1076 | "iova_start=%p size=%lx acl=%x e_pd=%p lkey=%x " | 1076 | "iova_start=%p size=%lx acl=%x e_pd=%p lkey=%x " |
1077 | "pginfo=%p num_kpages=%lx num_hwpages=%lx ret=%x", | 1077 | "pginfo=%p num_kpages=%lx num_hwpages=%lx ret=%i", |
1078 | h_ret, shca, e_mr, iova_start, size, acl, e_pd, | 1078 | h_ret, shca, e_mr, iova_start, size, acl, e_pd, |
1079 | hipzout.lkey, pginfo, pginfo->num_kpages, | 1079 | hipzout.lkey, pginfo, pginfo->num_kpages, |
1080 | pginfo->num_hwpages, ret); | 1080 | pginfo->num_hwpages, ret); |
@@ -1083,7 +1083,7 @@ ehca_reg_mr_exit1: | |||
1083 | } | 1083 | } |
1084 | ehca_reg_mr_exit0: | 1084 | ehca_reg_mr_exit0: |
1085 | if (ret) | 1085 | if (ret) |
1086 | ehca_err(&shca->ib_device, "ret=%x shca=%p e_mr=%p " | 1086 | ehca_err(&shca->ib_device, "ret=%i shca=%p e_mr=%p " |
1087 | "iova_start=%p size=%lx acl=%x e_pd=%p pginfo=%p " | 1087 | "iova_start=%p size=%lx acl=%x e_pd=%p pginfo=%p " |
1088 | "num_kpages=%lx num_hwpages=%lx", | 1088 | "num_kpages=%lx num_hwpages=%lx", |
1089 | ret, shca, e_mr, iova_start, size, acl, e_pd, pginfo, | 1089 | ret, shca, e_mr, iova_start, size, acl, e_pd, pginfo, |
@@ -1127,7 +1127,7 @@ int ehca_reg_mr_rpages(struct ehca_shca *shca, | |||
1127 | ret = ehca_set_pagebuf(pginfo, rnum, kpage); | 1127 | ret = ehca_set_pagebuf(pginfo, rnum, kpage); |
1128 | if (ret) { | 1128 | if (ret) { |
1129 | ehca_err(&shca->ib_device, "ehca_set_pagebuf " | 1129 | ehca_err(&shca->ib_device, "ehca_set_pagebuf " |
1130 | "bad rc, ret=%x rnum=%x kpage=%p", | 1130 | "bad rc, ret=%i rnum=%x kpage=%p", |
1131 | ret, rnum, kpage); | 1131 | ret, rnum, kpage); |
1132 | goto ehca_reg_mr_rpages_exit1; | 1132 | goto ehca_reg_mr_rpages_exit1; |
1133 | } | 1133 | } |
@@ -1155,7 +1155,7 @@ int ehca_reg_mr_rpages(struct ehca_shca *shca, | |||
1155 | */ | 1155 | */ |
1156 | if (h_ret != H_SUCCESS) { | 1156 | if (h_ret != H_SUCCESS) { |
1157 | ehca_err(&shca->ib_device, "last " | 1157 | ehca_err(&shca->ib_device, "last " |
1158 | "hipz_reg_rpage_mr failed, h_ret=%lx " | 1158 | "hipz_reg_rpage_mr failed, h_ret=%li " |
1159 | "e_mr=%p i=%x hca_hndl=%lx mr_hndl=%lx" | 1159 | "e_mr=%p i=%x hca_hndl=%lx mr_hndl=%lx" |
1160 | " lkey=%x", h_ret, e_mr, i, | 1160 | " lkey=%x", h_ret, e_mr, i, |
1161 | shca->ipz_hca_handle.handle, | 1161 | shca->ipz_hca_handle.handle, |
@@ -1167,7 +1167,7 @@ int ehca_reg_mr_rpages(struct ehca_shca *shca, | |||
1167 | ret = 0; | 1167 | ret = 0; |
1168 | } else if (h_ret != H_PAGE_REGISTERED) { | 1168 | } else if (h_ret != H_PAGE_REGISTERED) { |
1169 | ehca_err(&shca->ib_device, "hipz_reg_rpage_mr failed, " | 1169 | ehca_err(&shca->ib_device, "hipz_reg_rpage_mr failed, " |
1170 | "h_ret=%lx e_mr=%p i=%x lkey=%x hca_hndl=%lx " | 1170 | "h_ret=%li e_mr=%p i=%x lkey=%x hca_hndl=%lx " |
1171 | "mr_hndl=%lx", h_ret, e_mr, i, | 1171 | "mr_hndl=%lx", h_ret, e_mr, i, |
1172 | e_mr->ib.ib_mr.lkey, | 1172 | e_mr->ib.ib_mr.lkey, |
1173 | shca->ipz_hca_handle.handle, | 1173 | shca->ipz_hca_handle.handle, |
@@ -1183,7 +1183,7 @@ ehca_reg_mr_rpages_exit1: | |||
1183 | ehca_free_fw_ctrlblock(kpage); | 1183 | ehca_free_fw_ctrlblock(kpage); |
1184 | ehca_reg_mr_rpages_exit0: | 1184 | ehca_reg_mr_rpages_exit0: |
1185 | if (ret) | 1185 | if (ret) |
1186 | ehca_err(&shca->ib_device, "ret=%x shca=%p e_mr=%p pginfo=%p " | 1186 | ehca_err(&shca->ib_device, "ret=%i shca=%p e_mr=%p pginfo=%p " |
1187 | "num_kpages=%lx num_hwpages=%lx", ret, shca, e_mr, | 1187 | "num_kpages=%lx num_hwpages=%lx", ret, shca, e_mr, |
1188 | pginfo, pginfo->num_kpages, pginfo->num_hwpages); | 1188 | pginfo, pginfo->num_kpages, pginfo->num_hwpages); |
1189 | return ret; | 1189 | return ret; |
@@ -1244,7 +1244,7 @@ inline int ehca_rereg_mr_rereg1(struct ehca_shca *shca, | |||
1244 | * (MW bound or MR is shared) | 1244 | * (MW bound or MR is shared) |
1245 | */ | 1245 | */ |
1246 | ehca_warn(&shca->ib_device, "hipz_h_reregister_pmr failed " | 1246 | ehca_warn(&shca->ib_device, "hipz_h_reregister_pmr failed " |
1247 | "(Rereg1), h_ret=%lx e_mr=%p", h_ret, e_mr); | 1247 | "(Rereg1), h_ret=%li e_mr=%p", h_ret, e_mr); |
1248 | *pginfo = pginfo_save; | 1248 | *pginfo = pginfo_save; |
1249 | ret = -EAGAIN; | 1249 | ret = -EAGAIN; |
1250 | } else if ((u64 *)hipzout.vaddr != iova_start) { | 1250 | } else if ((u64 *)hipzout.vaddr != iova_start) { |
@@ -1273,7 +1273,7 @@ ehca_rereg_mr_rereg1_exit1: | |||
1273 | ehca_free_fw_ctrlblock(kpage); | 1273 | ehca_free_fw_ctrlblock(kpage); |
1274 | ehca_rereg_mr_rereg1_exit0: | 1274 | ehca_rereg_mr_rereg1_exit0: |
1275 | if ( ret && (ret != -EAGAIN) ) | 1275 | if ( ret && (ret != -EAGAIN) ) |
1276 | ehca_err(&shca->ib_device, "ret=%x lkey=%x rkey=%x " | 1276 | ehca_err(&shca->ib_device, "ret=%i lkey=%x rkey=%x " |
1277 | "pginfo=%p num_kpages=%lx num_hwpages=%lx", | 1277 | "pginfo=%p num_kpages=%lx num_hwpages=%lx", |
1278 | ret, *lkey, *rkey, pginfo, pginfo->num_kpages, | 1278 | ret, *lkey, *rkey, pginfo, pginfo->num_kpages, |
1279 | pginfo->num_hwpages); | 1279 | pginfo->num_hwpages); |
@@ -1334,7 +1334,7 @@ int ehca_rereg_mr(struct ehca_shca *shca, | |||
1334 | h_ret = hipz_h_free_resource_mr(shca->ipz_hca_handle, e_mr); | 1334 | h_ret = hipz_h_free_resource_mr(shca->ipz_hca_handle, e_mr); |
1335 | if (h_ret != H_SUCCESS) { | 1335 | if (h_ret != H_SUCCESS) { |
1336 | ehca_err(&shca->ib_device, "hipz_free_mr failed, " | 1336 | ehca_err(&shca->ib_device, "hipz_free_mr failed, " |
1337 | "h_ret=%lx e_mr=%p hca_hndl=%lx mr_hndl=%lx " | 1337 | "h_ret=%li e_mr=%p hca_hndl=%lx mr_hndl=%lx " |
1338 | "mr->lkey=%x", | 1338 | "mr->lkey=%x", |
1339 | h_ret, e_mr, shca->ipz_hca_handle.handle, | 1339 | h_ret, e_mr, shca->ipz_hca_handle.handle, |
1340 | e_mr->ipz_mr_handle.handle, | 1340 | e_mr->ipz_mr_handle.handle, |
@@ -1366,7 +1366,7 @@ int ehca_rereg_mr(struct ehca_shca *shca, | |||
1366 | 1366 | ||
1367 | ehca_rereg_mr_exit0: | 1367 | ehca_rereg_mr_exit0: |
1368 | if (ret) | 1368 | if (ret) |
1369 | ehca_err(&shca->ib_device, "ret=%x shca=%p e_mr=%p " | 1369 | ehca_err(&shca->ib_device, "ret=%i shca=%p e_mr=%p " |
1370 | "iova_start=%p size=%lx acl=%x e_pd=%p pginfo=%p " | 1370 | "iova_start=%p size=%lx acl=%x e_pd=%p pginfo=%p " |
1371 | "num_kpages=%lx lkey=%x rkey=%x rereg_1_hcall=%x " | 1371 | "num_kpages=%lx lkey=%x rkey=%x rereg_1_hcall=%x " |
1372 | "rereg_3_hcall=%x", ret, shca, e_mr, iova_start, size, | 1372 | "rereg_3_hcall=%x", ret, shca, e_mr, iova_start, size, |
@@ -1410,7 +1410,7 @@ int ehca_unmap_one_fmr(struct ehca_shca *shca, | |||
1410 | * FMRs are not shared and no MW bound to FMRs | 1410 | * FMRs are not shared and no MW bound to FMRs |
1411 | */ | 1411 | */ |
1412 | ehca_err(&shca->ib_device, "hipz_reregister_pmr failed " | 1412 | ehca_err(&shca->ib_device, "hipz_reregister_pmr failed " |
1413 | "(Rereg1), h_ret=%lx e_fmr=%p hca_hndl=%lx " | 1413 | "(Rereg1), h_ret=%li e_fmr=%p hca_hndl=%lx " |
1414 | "mr_hndl=%lx lkey=%x lkey_out=%x", | 1414 | "mr_hndl=%lx lkey=%x lkey_out=%x", |
1415 | h_ret, e_fmr, shca->ipz_hca_handle.handle, | 1415 | h_ret, e_fmr, shca->ipz_hca_handle.handle, |
1416 | e_fmr->ipz_mr_handle.handle, | 1416 | e_fmr->ipz_mr_handle.handle, |
@@ -1422,7 +1422,7 @@ int ehca_unmap_one_fmr(struct ehca_shca *shca, | |||
1422 | h_ret = hipz_h_free_resource_mr(shca->ipz_hca_handle, e_fmr); | 1422 | h_ret = hipz_h_free_resource_mr(shca->ipz_hca_handle, e_fmr); |
1423 | if (h_ret != H_SUCCESS) { | 1423 | if (h_ret != H_SUCCESS) { |
1424 | ehca_err(&shca->ib_device, "hipz_free_mr failed, " | 1424 | ehca_err(&shca->ib_device, "hipz_free_mr failed, " |
1425 | "h_ret=%lx e_fmr=%p hca_hndl=%lx mr_hndl=%lx " | 1425 | "h_ret=%li e_fmr=%p hca_hndl=%lx mr_hndl=%lx " |
1426 | "lkey=%x", | 1426 | "lkey=%x", |
1427 | h_ret, e_fmr, shca->ipz_hca_handle.handle, | 1427 | h_ret, e_fmr, shca->ipz_hca_handle.handle, |
1428 | e_fmr->ipz_mr_handle.handle, | 1428 | e_fmr->ipz_mr_handle.handle, |
@@ -1457,7 +1457,7 @@ int ehca_unmap_one_fmr(struct ehca_shca *shca, | |||
1457 | 1457 | ||
1458 | ehca_unmap_one_fmr_exit0: | 1458 | ehca_unmap_one_fmr_exit0: |
1459 | if (ret) | 1459 | if (ret) |
1460 | ehca_err(&shca->ib_device, "ret=%x tmp_lkey=%x tmp_rkey=%x " | 1460 | ehca_err(&shca->ib_device, "ret=%i tmp_lkey=%x tmp_rkey=%x " |
1461 | "fmr_max_pages=%x", | 1461 | "fmr_max_pages=%x", |
1462 | ret, tmp_lkey, tmp_rkey, e_fmr->fmr_max_pages); | 1462 | ret, tmp_lkey, tmp_rkey, e_fmr->fmr_max_pages); |
1463 | return ret; | 1463 | return ret; |
@@ -1486,7 +1486,7 @@ int ehca_reg_smr(struct ehca_shca *shca, | |||
1486 | (u64)iova_start, hipz_acl, e_pd->fw_pd, | 1486 | (u64)iova_start, hipz_acl, e_pd->fw_pd, |
1487 | &hipzout); | 1487 | &hipzout); |
1488 | if (h_ret != H_SUCCESS) { | 1488 | if (h_ret != H_SUCCESS) { |
1489 | ehca_err(&shca->ib_device, "hipz_reg_smr failed, h_ret=%lx " | 1489 | ehca_err(&shca->ib_device, "hipz_reg_smr failed, h_ret=%li " |
1490 | "shca=%p e_origmr=%p e_newmr=%p iova_start=%p acl=%x " | 1490 | "shca=%p e_origmr=%p e_newmr=%p iova_start=%p acl=%x " |
1491 | "e_pd=%p hca_hndl=%lx mr_hndl=%lx lkey=%x", | 1491 | "e_pd=%p hca_hndl=%lx mr_hndl=%lx lkey=%x", |
1492 | h_ret, shca, e_origmr, e_newmr, iova_start, acl, e_pd, | 1492 | h_ret, shca, e_origmr, e_newmr, iova_start, acl, e_pd, |
@@ -1510,7 +1510,7 @@ int ehca_reg_smr(struct ehca_shca *shca, | |||
1510 | 1510 | ||
1511 | ehca_reg_smr_exit0: | 1511 | ehca_reg_smr_exit0: |
1512 | if (ret) | 1512 | if (ret) |
1513 | ehca_err(&shca->ib_device, "ret=%x shca=%p e_origmr=%p " | 1513 | ehca_err(&shca->ib_device, "ret=%i shca=%p e_origmr=%p " |
1514 | "e_newmr=%p iova_start=%p acl=%x e_pd=%p", | 1514 | "e_newmr=%p iova_start=%p acl=%x e_pd=%p", |
1515 | ret, shca, e_origmr, e_newmr, iova_start, acl, e_pd); | 1515 | ret, shca, e_origmr, e_newmr, iova_start, acl, e_pd); |
1516 | return ret; | 1516 | return ret; |
@@ -1585,7 +1585,7 @@ ehca_reg_internal_maxmr_exit1: | |||
1585 | ehca_mr_delete(e_mr); | 1585 | ehca_mr_delete(e_mr); |
1586 | ehca_reg_internal_maxmr_exit0: | 1586 | ehca_reg_internal_maxmr_exit0: |
1587 | if (ret) | 1587 | if (ret) |
1588 | ehca_err(&shca->ib_device, "ret=%x shca=%p e_pd=%p e_maxmr=%p", | 1588 | ehca_err(&shca->ib_device, "ret=%i shca=%p e_pd=%p e_maxmr=%p", |
1589 | ret, shca, e_pd, e_maxmr); | 1589 | ret, shca, e_pd, e_maxmr); |
1590 | return ret; | 1590 | return ret; |
1591 | } /* end ehca_reg_internal_maxmr() */ | 1591 | } /* end ehca_reg_internal_maxmr() */ |
@@ -1612,7 +1612,7 @@ int ehca_reg_maxmr(struct ehca_shca *shca, | |||
1612 | (u64)iova_start, hipz_acl, e_pd->fw_pd, | 1612 | (u64)iova_start, hipz_acl, e_pd->fw_pd, |
1613 | &hipzout); | 1613 | &hipzout); |
1614 | if (h_ret != H_SUCCESS) { | 1614 | if (h_ret != H_SUCCESS) { |
1615 | ehca_err(&shca->ib_device, "hipz_reg_smr failed, h_ret=%lx " | 1615 | ehca_err(&shca->ib_device, "hipz_reg_smr failed, h_ret=%li " |
1616 | "e_origmr=%p hca_hndl=%lx mr_hndl=%lx lkey=%x", | 1616 | "e_origmr=%p hca_hndl=%lx mr_hndl=%lx lkey=%x", |
1617 | h_ret, e_origmr, shca->ipz_hca_handle.handle, | 1617 | h_ret, e_origmr, shca->ipz_hca_handle.handle, |
1618 | e_origmr->ipz_mr_handle.handle, | 1618 | e_origmr->ipz_mr_handle.handle, |
@@ -1653,7 +1653,7 @@ int ehca_dereg_internal_maxmr(struct ehca_shca *shca) | |||
1653 | ret = ehca_dereg_mr(&e_maxmr->ib.ib_mr); | 1653 | ret = ehca_dereg_mr(&e_maxmr->ib.ib_mr); |
1654 | if (ret) { | 1654 | if (ret) { |
1655 | ehca_err(&shca->ib_device, "dereg internal max-MR failed, " | 1655 | ehca_err(&shca->ib_device, "dereg internal max-MR failed, " |
1656 | "ret=%x e_maxmr=%p shca=%p lkey=%x", | 1656 | "ret=%i e_maxmr=%p shca=%p lkey=%x", |
1657 | ret, e_maxmr, shca, e_maxmr->ib.ib_mr.lkey); | 1657 | ret, e_maxmr, shca, e_maxmr->ib.ib_mr.lkey); |
1658 | shca->maxmr = e_maxmr; | 1658 | shca->maxmr = e_maxmr; |
1659 | goto ehca_dereg_internal_maxmr_exit0; | 1659 | goto ehca_dereg_internal_maxmr_exit0; |
@@ -1663,7 +1663,7 @@ int ehca_dereg_internal_maxmr(struct ehca_shca *shca) | |||
1663 | 1663 | ||
1664 | ehca_dereg_internal_maxmr_exit0: | 1664 | ehca_dereg_internal_maxmr_exit0: |
1665 | if (ret) | 1665 | if (ret) |
1666 | ehca_err(&shca->ib_device, "ret=%x shca=%p shca->maxmr=%p", | 1666 | ehca_err(&shca->ib_device, "ret=%i shca=%p shca->maxmr=%p", |
1667 | ret, shca, shca->maxmr); | 1667 | ret, shca, shca->maxmr); |
1668 | return ret; | 1668 | return ret; |
1669 | } /* end ehca_dereg_internal_maxmr() */ | 1669 | } /* end ehca_dereg_internal_maxmr() */ |