Lines Matching refs:fmr

2554 	hermon_fmr_list_t *fmr, *fmr_next;
2610 fmr = (hermon_fmr_list_t *)kmem_zalloc(
2612 _NOTE(NOW_INVISIBLE_TO_OTHER_THREADS(*fmr))
2614 fmr->fmr = mr;
2615 fmr->fmr_remaps = 0;
2616 fmr->fmr_remap_gen = fmrpool->fmr_remap_gen;
2617 fmr->fmr_pool = fmrpool;
2619 mr->mr_fmr = fmr;
2622 fmrpool->fmr_free_list_tail = &fmr->fmr_next;
2623 fmr->fmr_next = fmrpool->fmr_free_list;
2624 fmrpool->fmr_free_list = fmr;
2630 IBTF_DPRINTF_L2("fmr", "create_fmr_pool SUCCESS");
2633 for (fmr = fmrpool->fmr_free_list; fmr != NULL; fmr = fmr_next) {
2634 _NOTE(NOW_INVISIBLE_TO_OTHER_THREADS(*fmr))
2635 fmr_next = fmr->fmr_next;
2636 (void) hermon_mr_dealloc_fmr(state, &fmr->fmr);
2637 kmem_free(fmr, sizeof (hermon_fmr_list_t));
2642 IBTF_DPRINTF_L2("fmr", "create_fmr_pool FAILED");
2658 hermon_fmr_list_t *fmr, *fmr_next;
2663 for (fmr = fmrpool->fmr_free_list; fmr != NULL; fmr = fmr_next) {
2664 fmr_next = fmr->fmr_next;
2666 (void) hermon_mr_dealloc_fmr(state, &fmr->fmr);
2667 kmem_free(fmr, sizeof (hermon_fmr_list_t));
2679 IBTF_DPRINTF_L2("fmr", "destroy_fmr_pool SUCCESS");
2713 hermon_fmr_list_t *fmr;
2725 IBTF_DPRINTF_L2("fmr", "register needs remap");
2744 IBTF_DPRINTF_L2("fmr", "register needs cleanup");
2749 fmr = fmrpool->fmr_free_list;
2750 if (fmr == NULL) {
2751 IBTF_DPRINTF_L2("fmr", "WARNING: no free fmr resource");
2752 cmn_err(CE_CONT, "no free fmr resource\n");
2757 if ((fmrpool->fmr_free_list = fmr->fmr_next) == NULL)
2759 fmr->fmr_next = NULL;
2763 _NOTE(NOW_INVISIBLE_TO_OTHER_THREADS(*fmr))
2764 status = hermon_mr_register_physical_fmr(state, mem_pattr, fmr->fmr,
2769 _NOTE(NOW_INVISIBLE_TO_OTHER_THREADS(*fmr->fmr))
2771 IBTF_DPRINTF_L2("fmr", " reg: mr %p key %x",
2772 fmr->fmr, fmr->fmr->mr_rkey);
2773 _NOTE(NOW_VISIBLE_TO_OTHER_THREADS(*fmr->fmr))
2774 if (fmr->fmr_remap_gen != fmrpool->fmr_remap_gen) {
2775 fmr->fmr_remap_gen = fmrpool->fmr_remap_gen;
2776 fmr->fmr_remaps = 0;
2779 fmr->fmr_remaps++;
2781 *mr = (hermon_mrhdl_t)fmr->fmr;
2795 hermon_fmr_list_t *fmr, **fmrlast;
2798 fmr = mr->mr_fmr;
2799 _NOTE(NOW_INVISIBLE_TO_OTHER_THREADS(*fmr))
2800 fmrpool = fmr->fmr_pool;
2803 _NOTE(NOW_INVISIBLE_TO_OTHER_THREADS(*(fmr->fmr)))
2804 *(uint8_t *)(fmr->fmr->mr_mptrsrcp->hr_addr) = 0xF0;
2806 if (fmr->fmr_remaps <
2809 _NOTE(NOW_INVISIBLE_TO_OTHER_THREADS(*(fmr->fmr)))
2811 IBTF_DPRINTF_L2("fmr", "dereg: mr %p key %x",
2812 fmr->fmr, fmr->fmr->mr_rkey);
2813 _NOTE(NOW_VISIBLE_TO_OTHER_THREADS(*(fmr->fmr)))
2815 fmr->fmr_next = NULL;
2816 *(fmrpool->fmr_remap_list_tail) = fmr;
2817 fmrpool->fmr_remap_list_tail = &fmr->fmr_next;
2824 fmr = fmrpool->fmr_remap_list;
2835 *(fmrpool->fmr_free_list_tail) = fmr;
2842 _NOTE(NOW_INVISIBLE_TO_OTHER_THREADS(*(fmr->fmr)))
2844 IBTF_DPRINTF_L2("fmr", "dirty: mr %p key %x",
2845 fmr->fmr, fmr->fmr->mr_rkey);
2846 _NOTE(NOW_VISIBLE_TO_OTHER_THREADS(*(fmr->fmr)))
2849 fmr->fmr_next = NULL;
2850 *(fmrpool->fmr_dirty_list_tail) = fmr;
2851 fmrpool->fmr_dirty_list_tail = &fmr->fmr_next;
2884 IBTF_DPRINTF_L2("fmr", "TPT_SYNC");
2888 cmn_err(CE_WARN, "fmr SYNC_TPT failed(%x)\n", status);