fmr 165 arch/powerpc/include/asm/fsl_lbc.h __be32 fmr; /**< Flash Mode Register */ fmr 70 arch/powerpc/math-emu/math.c FLOATFUNC(fmr); fmr 315 arch/powerpc/math-emu/math.c case FMR: func = fmr; type = XB; break; fmr 121 drivers/infiniband/core/fmr_pool.c struct ib_pool_fmr *fmr; fmr 128 drivers/infiniband/core/fmr_pool.c hlist_for_each_entry(fmr, bucket, cache_node) fmr 129 drivers/infiniband/core/fmr_pool.c if (io_virtual_address == fmr->io_virtual_address && fmr 130 drivers/infiniband/core/fmr_pool.c page_list_len == fmr->page_list_len && fmr 131 drivers/infiniband/core/fmr_pool.c !memcmp(page_list, fmr->page_list, fmr 133 drivers/infiniband/core/fmr_pool.c return fmr; fmr 141 drivers/infiniband/core/fmr_pool.c struct ib_pool_fmr *fmr; fmr 147 drivers/infiniband/core/fmr_pool.c list_for_each_entry(fmr, &pool->dirty_list, list) { fmr 148 drivers/infiniband/core/fmr_pool.c hlist_del_init(&fmr->cache_node); fmr 149 drivers/infiniband/core/fmr_pool.c fmr->remap_count = 0; fmr 150 drivers/infiniband/core/fmr_pool.c list_add_tail(&fmr->fmr->list, &fmr_list); fmr 263 drivers/infiniband/core/fmr_pool.c struct ib_pool_fmr *fmr; fmr 269 drivers/infiniband/core/fmr_pool.c int bytes_per_fmr = sizeof *fmr; fmr 275 drivers/infiniband/core/fmr_pool.c fmr = kmalloc(bytes_per_fmr, GFP_KERNEL); fmr 276 drivers/infiniband/core/fmr_pool.c if (!fmr) fmr 279 drivers/infiniband/core/fmr_pool.c fmr->pool = pool; fmr 280 drivers/infiniband/core/fmr_pool.c fmr->remap_count = 0; fmr 281 drivers/infiniband/core/fmr_pool.c fmr->ref_count = 0; fmr 282 drivers/infiniband/core/fmr_pool.c INIT_HLIST_NODE(&fmr->cache_node); fmr 284 drivers/infiniband/core/fmr_pool.c fmr->fmr = ib_alloc_fmr(pd, params->access, &fmr_attr); fmr 285 drivers/infiniband/core/fmr_pool.c if (IS_ERR(fmr->fmr)) { fmr 288 drivers/infiniband/core/fmr_pool.c kfree(fmr); fmr 292 drivers/infiniband/core/fmr_pool.c list_add_tail(&fmr->list, &pool->free_list); fmr 320 drivers/infiniband/core/fmr_pool.c struct ib_pool_fmr *fmr; fmr 329 drivers/infiniband/core/fmr_pool.c list_for_each_entry_safe(fmr, tmp, &pool->free_list, list) { fmr 330 drivers/infiniband/core/fmr_pool.c if (fmr->remap_count) { fmr 332 drivers/infiniband/core/fmr_pool.c list_add_tail(&fmr->fmr->list, &fmr_list); fmr 335 drivers/infiniband/core/fmr_pool.c ib_dealloc_fmr(fmr->fmr); fmr 336 drivers/infiniband/core/fmr_pool.c list_del(&fmr->list); fmr 337 drivers/infiniband/core/fmr_pool.c kfree(fmr); fmr 359 drivers/infiniband/core/fmr_pool.c struct ib_pool_fmr *fmr, *next; fmr 368 drivers/infiniband/core/fmr_pool.c list_for_each_entry_safe(fmr, next, &pool->free_list, list) { fmr 369 drivers/infiniband/core/fmr_pool.c if (fmr->remap_count > 0) fmr 370 drivers/infiniband/core/fmr_pool.c list_move(&fmr->list, &pool->dirty_list); fmr 398 drivers/infiniband/core/fmr_pool.c struct ib_pool_fmr *fmr; fmr 406 drivers/infiniband/core/fmr_pool.c fmr = ib_fmr_cache_lookup(pool, fmr 410 drivers/infiniband/core/fmr_pool.c if (fmr) { fmr 412 drivers/infiniband/core/fmr_pool.c ++fmr->ref_count; fmr 413 drivers/infiniband/core/fmr_pool.c if (fmr->ref_count == 1) { fmr 414 drivers/infiniband/core/fmr_pool.c list_del(&fmr->list); fmr 419 drivers/infiniband/core/fmr_pool.c return fmr; fmr 427 drivers/infiniband/core/fmr_pool.c fmr = list_entry(pool->free_list.next, struct ib_pool_fmr, list); fmr 428 drivers/infiniband/core/fmr_pool.c list_del(&fmr->list); fmr 429 drivers/infiniband/core/fmr_pool.c hlist_del_init(&fmr->cache_node); fmr 432 drivers/infiniband/core/fmr_pool.c result = ib_map_phys_fmr(fmr->fmr, page_list, list_len, fmr 437 drivers/infiniband/core/fmr_pool.c list_add(&fmr->list, &pool->free_list); fmr 445 drivers/infiniband/core/fmr_pool.c ++fmr->remap_count; fmr 446 drivers/infiniband/core/fmr_pool.c fmr->ref_count = 1; fmr 449 drivers/infiniband/core/fmr_pool.c fmr->io_virtual_address = io_virtual_address; fmr 450 drivers/infiniband/core/fmr_pool.c fmr->page_list_len = list_len; fmr 451 drivers/infiniband/core/fmr_pool.c memcpy(fmr->page_list, page_list, list_len * sizeof(*page_list)); fmr 454 drivers/infiniband/core/fmr_pool.c hlist_add_head(&fmr->cache_node, fmr 455 drivers/infiniband/core/fmr_pool.c pool->cache_bucket + ib_fmr_hash(fmr->page_list[0])); fmr 459 drivers/infiniband/core/fmr_pool.c return fmr; fmr 470 drivers/infiniband/core/fmr_pool.c void ib_fmr_pool_unmap(struct ib_pool_fmr *fmr) fmr 475 drivers/infiniband/core/fmr_pool.c pool = fmr->pool; fmr 479 drivers/infiniband/core/fmr_pool.c --fmr->ref_count; fmr 480 drivers/infiniband/core/fmr_pool.c if (!fmr->ref_count) { fmr 481 drivers/infiniband/core/fmr_pool.c if (fmr->remap_count < pool->max_remaps) { fmr 482 drivers/infiniband/core/fmr_pool.c list_add_tail(&fmr->list, &pool->free_list); fmr 484 drivers/infiniband/core/fmr_pool.c list_add_tail(&fmr->list, &pool->dirty_list); fmr 2101 drivers/infiniband/core/verbs.c struct ib_fmr *fmr; fmr 2106 drivers/infiniband/core/verbs.c fmr = pd->device->ops.alloc_fmr(pd, mr_access_flags, fmr_attr); fmr 2107 drivers/infiniband/core/verbs.c if (!IS_ERR(fmr)) { fmr 2108 drivers/infiniband/core/verbs.c fmr->device = pd->device; fmr 2109 drivers/infiniband/core/verbs.c fmr->pd = pd; fmr 2113 drivers/infiniband/core/verbs.c return fmr; fmr 2119 drivers/infiniband/core/verbs.c struct ib_fmr *fmr; fmr 2124 drivers/infiniband/core/verbs.c fmr = list_entry(fmr_list->next, struct ib_fmr, list); fmr 2125 drivers/infiniband/core/verbs.c return fmr->device->ops.unmap_fmr(fmr_list); fmr 2129 drivers/infiniband/core/verbs.c int ib_dealloc_fmr(struct ib_fmr *fmr) fmr 2134 drivers/infiniband/core/verbs.c pd = fmr->pd; fmr 2135 drivers/infiniband/core/verbs.c ret = fmr->device->ops.dealloc_fmr(fmr); fmr 802 drivers/infiniband/hw/mlx4/mlx4_ib.h int mlx4_ib_fmr_dealloc(struct ib_fmr *fmr); fmr 705 drivers/infiniband/hw/mlx4/mr.c struct mlx4_ib_fmr *fmr; fmr 708 drivers/infiniband/hw/mlx4/mr.c fmr = kmalloc(sizeof *fmr, GFP_KERNEL); fmr 709 drivers/infiniband/hw/mlx4/mr.c if (!fmr) fmr 714 drivers/infiniband/hw/mlx4/mr.c fmr_attr->page_shift, &fmr->mfmr); fmr 718 drivers/infiniband/hw/mlx4/mr.c err = mlx4_fmr_enable(to_mdev(pd->device)->dev, &fmr->mfmr); fmr 722 drivers/infiniband/hw/mlx4/mr.c fmr->ibfmr.rkey = fmr->ibfmr.lkey = fmr->mfmr.mr.key; fmr 724 drivers/infiniband/hw/mlx4/mr.c return &fmr->ibfmr; fmr 727 drivers/infiniband/hw/mlx4/mr.c (void) mlx4_mr_free(to_mdev(pd->device)->dev, &fmr->mfmr.mr); fmr 730 drivers/infiniband/hw/mlx4/mr.c kfree(fmr); fmr 482 drivers/infiniband/hw/mthca/mthca_dev.h u32 access, struct mthca_fmr *fmr); fmr 485 drivers/infiniband/hw/mthca/mthca_dev.h void mthca_tavor_fmr_unmap(struct mthca_dev *dev, struct mthca_fmr *fmr); fmr 488 drivers/infiniband/hw/mthca/mthca_dev.h void mthca_arbel_fmr_unmap(struct mthca_dev *dev, struct mthca_fmr *fmr); fmr 489 drivers/infiniband/hw/mthca/mthca_dev.h int mthca_free_fmr(struct mthca_dev *dev, struct mthca_fmr *fmr); fmr 678 drivers/infiniband/hw/mthca/mthca_mr.c int mthca_free_fmr(struct mthca_dev *dev, struct mthca_fmr *fmr) fmr 680 drivers/infiniband/hw/mthca/mthca_mr.c if (fmr->maps) fmr 683 drivers/infiniband/hw/mthca/mthca_mr.c mthca_free_region(dev, fmr->ibmr.lkey); fmr 684 drivers/infiniband/hw/mthca/mthca_mr.c mthca_free_mtt(dev, fmr->mtt); fmr 689 drivers/infiniband/hw/mthca/mthca_mr.c static inline int mthca_check_fmr(struct mthca_fmr *fmr, u64 *page_list, fmr 694 drivers/infiniband/hw/mthca/mthca_mr.c if (list_len > fmr->attr.max_pages) fmr 697 drivers/infiniband/hw/mthca/mthca_mr.c page_mask = (1 << fmr->attr.page_shift) - 1; fmr 710 drivers/infiniband/hw/mthca/mthca_mr.c if (fmr->maps >= fmr->attr.max_maps) fmr 720 drivers/infiniband/hw/mthca/mthca_mr.c struct mthca_fmr *fmr = to_mfmr(ibfmr); fmr 726 drivers/infiniband/hw/mthca/mthca_mr.c err = mthca_check_fmr(fmr, page_list, list_len, iova); fmr 730 drivers/infiniband/hw/mthca/mthca_mr.c ++fmr->maps; fmr 732 drivers/infiniband/hw/mthca/mthca_mr.c key = tavor_key_to_hw_index(fmr->ibmr.lkey); fmr 734 drivers/infiniband/hw/mthca/mthca_mr.c fmr->ibmr.lkey = fmr->ibmr.rkey = tavor_hw_index_to_key(key); fmr 736 drivers/infiniband/hw/mthca/mthca_mr.c writeb(MTHCA_MPT_STATUS_SW, fmr->mem.tavor.mpt); fmr 741 drivers/infiniband/hw/mthca/mthca_mr.c mthca_write64_raw(mtt_entry, fmr->mem.tavor.mtts + i); fmr 745 drivers/infiniband/hw/mthca/mthca_mr.c mpt_entry.length = cpu_to_be64(list_len * (1ull << fmr->attr.page_shift)); fmr 748 drivers/infiniband/hw/mthca/mthca_mr.c __raw_writel((__force u32) mpt_entry.lkey, &fmr->mem.tavor.mpt->key); fmr 749 drivers/infiniband/hw/mthca/mthca_mr.c memcpy_toio(&fmr->mem.tavor.mpt->start, &mpt_entry.start, fmr 753 drivers/infiniband/hw/mthca/mthca_mr.c writeb(MTHCA_MPT_STATUS_HW, fmr->mem.tavor.mpt); fmr 761 drivers/infiniband/hw/mthca/mthca_mr.c struct mthca_fmr *fmr = to_mfmr(ibfmr); fmr 766 drivers/infiniband/hw/mthca/mthca_mr.c err = mthca_check_fmr(fmr, page_list, list_len, iova); fmr 770 drivers/infiniband/hw/mthca/mthca_mr.c ++fmr->maps; fmr 772 drivers/infiniband/hw/mthca/mthca_mr.c key = arbel_key_to_hw_index(fmr->ibmr.lkey); fmr 777 drivers/infiniband/hw/mthca/mthca_mr.c fmr->ibmr.lkey = fmr->ibmr.rkey = arbel_hw_index_to_key(key); fmr 779 drivers/infiniband/hw/mthca/mthca_mr.c *(u8 *) fmr->mem.arbel.mpt = MTHCA_MPT_STATUS_SW; fmr 783 drivers/infiniband/hw/mthca/mthca_mr.c dma_sync_single_for_cpu(&dev->pdev->dev, fmr->mem.arbel.dma_handle, fmr 787 drivers/infiniband/hw/mthca/mthca_mr.c fmr->mem.arbel.mtts[i] = cpu_to_be64(page_list[i] | fmr 790 drivers/infiniband/hw/mthca/mthca_mr.c dma_sync_single_for_device(&dev->pdev->dev, fmr->mem.arbel.dma_handle, fmr 793 drivers/infiniband/hw/mthca/mthca_mr.c fmr->mem.arbel.mpt->key = cpu_to_be32(key); fmr 794 drivers/infiniband/hw/mthca/mthca_mr.c fmr->mem.arbel.mpt->lkey = cpu_to_be32(key); fmr 795 drivers/infiniband/hw/mthca/mthca_mr.c fmr->mem.arbel.mpt->length = cpu_to_be64(list_len * (1ull << fmr->attr.page_shift)); fmr 796 drivers/infiniband/hw/mthca/mthca_mr.c fmr->mem.arbel.mpt->start = cpu_to_be64(iova); fmr 800 drivers/infiniband/hw/mthca/mthca_mr.c *(u8 *) fmr->mem.arbel.mpt = MTHCA_MPT_STATUS_HW; fmr 807 drivers/infiniband/hw/mthca/mthca_mr.c void mthca_tavor_fmr_unmap(struct mthca_dev *dev, struct mthca_fmr *fmr) fmr 809 drivers/infiniband/hw/mthca/mthca_mr.c if (!fmr->maps) fmr 812 drivers/infiniband/hw/mthca/mthca_mr.c fmr->maps = 0; fmr 814 drivers/infiniband/hw/mthca/mthca_mr.c writeb(MTHCA_MPT_STATUS_SW, fmr->mem.tavor.mpt); fmr 817 drivers/infiniband/hw/mthca/mthca_mr.c void mthca_arbel_fmr_unmap(struct mthca_dev *dev, struct mthca_fmr *fmr) fmr 819 drivers/infiniband/hw/mthca/mthca_mr.c if (!fmr->maps) fmr 822 drivers/infiniband/hw/mthca/mthca_mr.c fmr->maps = 0; fmr 824 drivers/infiniband/hw/mthca/mthca_mr.c *(u8 *) fmr->mem.arbel.mpt = MTHCA_MPT_STATUS_SW; fmr 965 drivers/infiniband/hw/mthca/mthca_provider.c struct mthca_fmr *fmr; fmr 968 drivers/infiniband/hw/mthca/mthca_provider.c fmr = kmalloc(sizeof *fmr, GFP_KERNEL); fmr 969 drivers/infiniband/hw/mthca/mthca_provider.c if (!fmr) fmr 972 drivers/infiniband/hw/mthca/mthca_provider.c memcpy(&fmr->attr, fmr_attr, sizeof *fmr_attr); fmr 974 drivers/infiniband/hw/mthca/mthca_provider.c convert_access(mr_access_flags), fmr); fmr 977 drivers/infiniband/hw/mthca/mthca_provider.c kfree(fmr); fmr 981 drivers/infiniband/hw/mthca/mthca_provider.c return &fmr->ibmr; fmr 984 drivers/infiniband/hw/mthca/mthca_provider.c static int mthca_dealloc_fmr(struct ib_fmr *fmr) fmr 986 drivers/infiniband/hw/mthca/mthca_provider.c struct mthca_fmr *mfmr = to_mfmr(fmr); fmr 989 drivers/infiniband/hw/mthca/mthca_provider.c err = mthca_free_fmr(to_mdev(fmr->device), mfmr); fmr 999 drivers/infiniband/hw/mthca/mthca_provider.c struct ib_fmr *fmr; fmr 1003 drivers/infiniband/hw/mthca/mthca_provider.c list_for_each_entry(fmr, fmr_list, list) { fmr 1004 drivers/infiniband/hw/mthca/mthca_provider.c if (mdev && to_mdev(fmr->device) != mdev) fmr 1006 drivers/infiniband/hw/mthca/mthca_provider.c mdev = to_mdev(fmr->device); fmr 1013 drivers/infiniband/hw/mthca/mthca_provider.c list_for_each_entry(fmr, fmr_list, list) fmr 1014 drivers/infiniband/hw/mthca/mthca_provider.c mthca_arbel_fmr_unmap(mdev, to_mfmr(fmr)); fmr 1018 drivers/infiniband/hw/mthca/mthca_provider.c list_for_each_entry(fmr, fmr_list, list) fmr 1019 drivers/infiniband/hw/mthca/mthca_provider.c mthca_tavor_fmr_unmap(mdev, to_mfmr(fmr)); fmr 119 drivers/infiniband/hw/ocrdma/ocrdma_hw.h int ocrdma_mbx_dealloc_lkey(struct ocrdma_dev *, int fmr, u32 lkey); fmr 727 drivers/infiniband/sw/rdmavt/mr.c struct rvt_fmr *fmr; fmr 734 drivers/infiniband/sw/rdmavt/mr.c fmr = kzalloc(struct_size(fmr, mr.map, m), GFP_KERNEL); fmr 735 drivers/infiniband/sw/rdmavt/mr.c if (!fmr) fmr 738 drivers/infiniband/sw/rdmavt/mr.c rval = rvt_init_mregion(&fmr->mr, pd, fmr_attr->max_pages, fmr 747 drivers/infiniband/sw/rdmavt/mr.c rval = rvt_alloc_lkey(&fmr->mr, 0); fmr 750 drivers/infiniband/sw/rdmavt/mr.c fmr->ibfmr.rkey = fmr->mr.lkey; fmr 751 drivers/infiniband/sw/rdmavt/mr.c fmr->ibfmr.lkey = fmr->mr.lkey; fmr 756 drivers/infiniband/sw/rdmavt/mr.c fmr->mr.access_flags = mr_access_flags; fmr 757 drivers/infiniband/sw/rdmavt/mr.c fmr->mr.max_segs = fmr_attr->max_pages; fmr 758 drivers/infiniband/sw/rdmavt/mr.c fmr->mr.page_shift = fmr_attr->page_shift; fmr 760 drivers/infiniband/sw/rdmavt/mr.c ret = &fmr->ibfmr; fmr 765 drivers/infiniband/sw/rdmavt/mr.c rvt_deinit_mregion(&fmr->mr); fmr 767 drivers/infiniband/sw/rdmavt/mr.c kfree(fmr); fmr 787 drivers/infiniband/sw/rdmavt/mr.c struct rvt_fmr *fmr = to_ifmr(ibfmr); fmr 795 drivers/infiniband/sw/rdmavt/mr.c i = atomic_long_read(&fmr->mr.refcount.count); fmr 799 drivers/infiniband/sw/rdmavt/mr.c if (list_len > fmr->mr.max_segs) fmr 804 drivers/infiniband/sw/rdmavt/mr.c fmr->mr.user_base = iova; fmr 805 drivers/infiniband/sw/rdmavt/mr.c fmr->mr.iova = iova; fmr 806 drivers/infiniband/sw/rdmavt/mr.c ps = 1 << fmr->mr.page_shift; fmr 807 drivers/infiniband/sw/rdmavt/mr.c fmr->mr.length = list_len * ps; fmr 811 drivers/infiniband/sw/rdmavt/mr.c fmr->mr.map[m]->segs[n].vaddr = (void *)page_list[i]; fmr 812 drivers/infiniband/sw/rdmavt/mr.c fmr->mr.map[m]->segs[n].length = ps; fmr 813 drivers/infiniband/sw/rdmavt/mr.c trace_rvt_mr_fmr_seg(&fmr->mr, m, n, (void *)page_list[i], ps); fmr 831 drivers/infiniband/sw/rdmavt/mr.c struct rvt_fmr *fmr; fmr 836 drivers/infiniband/sw/rdmavt/mr.c list_for_each_entry(fmr, fmr_list, ibfmr.list) { fmr 837 drivers/infiniband/sw/rdmavt/mr.c rdi = ib_to_rvt(fmr->ibfmr.device); fmr 840 drivers/infiniband/sw/rdmavt/mr.c fmr->mr.user_base = 0; fmr 841 drivers/infiniband/sw/rdmavt/mr.c fmr->mr.iova = 0; fmr 842 drivers/infiniband/sw/rdmavt/mr.c fmr->mr.length = 0; fmr 856 drivers/infiniband/sw/rdmavt/mr.c struct rvt_fmr *fmr = to_ifmr(ibfmr); fmr 859 drivers/infiniband/sw/rdmavt/mr.c rvt_free_lkey(&fmr->mr); fmr 860 drivers/infiniband/sw/rdmavt/mr.c rvt_put_mr(&fmr->mr); /* will set completion if last */ fmr 861 drivers/infiniband/sw/rdmavt/mr.c ret = rvt_check_refs(&fmr->mr, __func__); fmr 864 drivers/infiniband/sw/rdmavt/mr.c rvt_deinit_mregion(&fmr->mr); fmr 865 drivers/infiniband/sw/rdmavt/mr.c kfree(fmr); fmr 236 drivers/infiniband/ulp/iser/iser_memory.c struct ib_pool_fmr *fmr; fmr 250 drivers/infiniband/ulp/iser/iser_memory.c fmr = ib_fmr_pool_map_phys(fmr_pool, page_vec->pages, fmr 252 drivers/infiniband/ulp/iser/iser_memory.c if (IS_ERR(fmr)) { fmr 253 drivers/infiniband/ulp/iser/iser_memory.c ret = PTR_ERR(fmr); fmr 258 drivers/infiniband/ulp/iser/iser_memory.c reg->sge.lkey = fmr->fmr->lkey; fmr 259 drivers/infiniband/ulp/iser/iser_memory.c reg->rkey = fmr->fmr->rkey; fmr 262 drivers/infiniband/ulp/iser/iser_memory.c reg->mem_h = fmr; fmr 1470 drivers/infiniband/ulp/srp/ib_srp.c struct ib_pool_fmr *fmr; fmr 1473 drivers/infiniband/ulp/srp/ib_srp.c if (state->fmr.next >= state->fmr.end) { fmr 1491 drivers/infiniband/ulp/srp/ib_srp.c fmr = ib_fmr_pool_map_phys(ch->fmr_pool, state->pages, fmr 1493 drivers/infiniband/ulp/srp/ib_srp.c if (IS_ERR(fmr)) fmr 1494 drivers/infiniband/ulp/srp/ib_srp.c return PTR_ERR(fmr); fmr 1496 drivers/infiniband/ulp/srp/ib_srp.c *state->fmr.next++ = fmr; fmr 1500 drivers/infiniband/ulp/srp/ib_srp.c state->dma_len, fmr->fmr->rkey); fmr 1651 drivers/infiniband/ulp/srp/ib_srp.c state->fmr.next = req->fmr_list; fmr 1652 drivers/infiniband/ulp/srp/ib_srp.c state->fmr.end = req->fmr_list + ch->target->mr_per_cmd; fmr 330 drivers/infiniband/ulp/srp/ib_srp.h } fmr; fmr 45 drivers/mtd/nand/raw/fsl_elbc_nand.c unsigned int fmr; /* FCM Flash Mode Register value */ fmr 79 drivers/mtd/nand/raw/fsl_elbc_nand.c if (priv->fmr & FMR_ECCM) fmr 100 drivers/mtd/nand/raw/fsl_elbc_nand.c oobregion->length = (priv->fmr & FMR_ECCM) ? 7 : 5; fmr 103 drivers/mtd/nand/raw/fsl_elbc_nand.c ((priv->fmr & FMR_ECCM) ? 5 : 7); fmr 212 drivers/mtd/nand/raw/fsl_elbc_nand.c out_be32(&lbc->fmr, priv->fmr | 3); fmr 218 drivers/mtd/nand/raw/fsl_elbc_nand.c in_be32(&lbc->fmr), in_be32(&lbc->fir), in_be32(&lbc->fcr)); fmr 696 drivers/mtd/nand/raw/fsl_elbc_nand.c priv->fmr = 15 << FMR_CWTO_SHIFT; fmr 698 drivers/mtd/nand/raw/fsl_elbc_nand.c priv->fmr |= FMR_ECCM; fmr 772 drivers/mtd/nand/raw/fsl_elbc_nand.c priv->fmr |= al << FMR_AL_SHIFT; fmr 969 drivers/net/ethernet/mellanox/mlx4/mr.c static inline int mlx4_check_fmr(struct mlx4_fmr *fmr, u64 *page_list, fmr 974 drivers/net/ethernet/mellanox/mlx4/mr.c if (npages > fmr->max_pages) fmr 977 drivers/net/ethernet/mellanox/mlx4/mr.c page_mask = (1 << fmr->page_shift) - 1; fmr 990 drivers/net/ethernet/mellanox/mlx4/mr.c if (fmr->maps >= fmr->max_maps) fmr 996 drivers/net/ethernet/mellanox/mlx4/mr.c int mlx4_map_phys_fmr(struct mlx4_dev *dev, struct mlx4_fmr *fmr, u64 *page_list, fmr 1002 drivers/net/ethernet/mellanox/mlx4/mr.c err = mlx4_check_fmr(fmr, page_list, npages, iova); fmr 1006 drivers/net/ethernet/mellanox/mlx4/mr.c ++fmr->maps; fmr 1008 drivers/net/ethernet/mellanox/mlx4/mr.c key = key_to_hw_index(fmr->mr.key); fmr 1010 drivers/net/ethernet/mellanox/mlx4/mr.c *lkey = *rkey = fmr->mr.key = hw_index_to_key(key); fmr 1012 drivers/net/ethernet/mellanox/mlx4/mr.c *(u8 *) fmr->mpt = MLX4_MPT_STATUS_SW; fmr 1017 drivers/net/ethernet/mellanox/mlx4/mr.c dma_sync_single_for_cpu(&dev->persist->pdev->dev, fmr->dma_handle, fmr 1021 drivers/net/ethernet/mellanox/mlx4/mr.c fmr->mtts[i] = cpu_to_be64(page_list[i] | MLX4_MTT_FLAG_PRESENT); fmr 1023 drivers/net/ethernet/mellanox/mlx4/mr.c dma_sync_single_for_device(&dev->persist->pdev->dev, fmr->dma_handle, fmr 1026 drivers/net/ethernet/mellanox/mlx4/mr.c fmr->mpt->key = cpu_to_be32(key); fmr 1027 drivers/net/ethernet/mellanox/mlx4/mr.c fmr->mpt->lkey = cpu_to_be32(key); fmr 1028 drivers/net/ethernet/mellanox/mlx4/mr.c fmr->mpt->length = cpu_to_be64(npages * (1ull << fmr->page_shift)); fmr 1029 drivers/net/ethernet/mellanox/mlx4/mr.c fmr->mpt->start = cpu_to_be64(iova); fmr 1034 drivers/net/ethernet/mellanox/mlx4/mr.c *(u8 *) fmr->mpt = MLX4_MPT_STATUS_HW; fmr 1044 drivers/net/ethernet/mellanox/mlx4/mr.c int max_maps, u8 page_shift, struct mlx4_fmr *fmr) fmr 1056 drivers/net/ethernet/mellanox/mlx4/mr.c if (max_pages * sizeof(*fmr->mtts) > PAGE_SIZE) fmr 1059 drivers/net/ethernet/mellanox/mlx4/mr.c fmr->page_shift = page_shift; fmr 1060 drivers/net/ethernet/mellanox/mlx4/mr.c fmr->max_pages = max_pages; fmr 1061 drivers/net/ethernet/mellanox/mlx4/mr.c fmr->max_maps = max_maps; fmr 1062 drivers/net/ethernet/mellanox/mlx4/mr.c fmr->maps = 0; fmr 1065 drivers/net/ethernet/mellanox/mlx4/mr.c page_shift, &fmr->mr); fmr 1069 drivers/net/ethernet/mellanox/mlx4/mr.c fmr->mtts = mlx4_table_find(&priv->mr_table.mtt_table, fmr 1070 drivers/net/ethernet/mellanox/mlx4/mr.c fmr->mr.mtt.offset, fmr 1071 drivers/net/ethernet/mellanox/mlx4/mr.c &fmr->dma_handle); fmr 1073 drivers/net/ethernet/mellanox/mlx4/mr.c if (!fmr->mtts) { fmr 1081 drivers/net/ethernet/mellanox/mlx4/mr.c (void) mlx4_mr_free(dev, &fmr->mr); fmr 1086 drivers/net/ethernet/mellanox/mlx4/mr.c int mlx4_fmr_enable(struct mlx4_dev *dev, struct mlx4_fmr *fmr) fmr 1091 drivers/net/ethernet/mellanox/mlx4/mr.c err = mlx4_mr_enable(dev, &fmr->mr); fmr 1095 drivers/net/ethernet/mellanox/mlx4/mr.c fmr->mpt = mlx4_table_find(&priv->mr_table.dmpt_table, fmr 1096 drivers/net/ethernet/mellanox/mlx4/mr.c key_to_hw_index(fmr->mr.key), NULL); fmr 1097 drivers/net/ethernet/mellanox/mlx4/mr.c if (!fmr->mpt) fmr 1104 drivers/net/ethernet/mellanox/mlx4/mr.c void mlx4_fmr_unmap(struct mlx4_dev *dev, struct mlx4_fmr *fmr, fmr 1107 drivers/net/ethernet/mellanox/mlx4/mr.c if (!fmr->maps) fmr 1111 drivers/net/ethernet/mellanox/mlx4/mr.c *(u8 *)fmr->mpt = MLX4_MPT_STATUS_SW; fmr 1116 drivers/net/ethernet/mellanox/mlx4/mr.c fmr->maps = 0; fmr 1120 drivers/net/ethernet/mellanox/mlx4/mr.c int mlx4_fmr_free(struct mlx4_dev *dev, struct mlx4_fmr *fmr) fmr 1124 drivers/net/ethernet/mellanox/mlx4/mr.c if (fmr->maps) fmr 1126 drivers/net/ethernet/mellanox/mlx4/mr.c if (fmr->mr.enabled == MLX4_MPT_EN_HW) { fmr 1131 drivers/net/ethernet/mellanox/mlx4/mr.c *(u8 *)fmr->mpt = MLX4_MPT_STATUS_SW; fmr 1134 drivers/net/ethernet/mellanox/mlx4/mr.c fmr->mpt->length = 0; fmr 1135 drivers/net/ethernet/mellanox/mlx4/mr.c fmr->mpt->start = 0; fmr 1138 drivers/net/ethernet/mellanox/mlx4/mr.c *(u8 *)fmr->mpt = MLX4_MPT_STATUS_HW; fmr 1143 drivers/net/ethernet/mellanox/mlx4/mr.c ret = mlx4_mr_free(dev, &fmr->mr); fmr 1146 drivers/net/ethernet/mellanox/mlx4/mr.c fmr->mr.enabled = MLX4_MPT_DISABLED; fmr 183 drivers/tty/serial/atmel_serial.c u32 fmr; fmr 1941 drivers/tty/serial/atmel_serial.c unsigned int fmr; fmr 1951 drivers/tty/serial/atmel_serial.c fmr = ATMEL_US_TXRDYM(txrdym) | ATMEL_US_RXRDYM(rxrdym); fmr 1954 drivers/tty/serial/atmel_serial.c fmr |= ATMEL_US_FRTSC | fmr 1958 drivers/tty/serial/atmel_serial.c atmel_uart_writel(port, ATMEL_US_FMR, fmr); fmr 2735 drivers/tty/serial/atmel_serial.c atmel_port->cache.fmr = atmel_uart_readl(port, ATMEL_US_FMR); fmr 2773 drivers/tty/serial/atmel_serial.c atmel_port->cache.fmr); fmr 88 fs/ext4/fsmap.c struct ext4_fsmap fmr; fmr 141 fs/ext4/fsmap.c fmr.fmr_device = info->gfi_dev; fmr 142 fs/ext4/fsmap.c fmr.fmr_physical = info->gfi_next_fsblk; fmr 143 fs/ext4/fsmap.c fmr.fmr_owner = EXT4_FMR_OWN_UNKNOWN; fmr 144 fs/ext4/fsmap.c fmr.fmr_length = rec_fsblk - info->gfi_next_fsblk; fmr 145 fs/ext4/fsmap.c fmr.fmr_flags = FMR_OF_SPECIAL_OWNER; fmr 146 fs/ext4/fsmap.c error = info->gfi_formatter(&fmr, info->gfi_format_arg); fmr 163 fs/ext4/fsmap.c fmr.fmr_device = info->gfi_dev; fmr 164 fs/ext4/fsmap.c fmr.fmr_physical = rec_fsblk; fmr 165 fs/ext4/fsmap.c fmr.fmr_owner = rec->fmr_owner; fmr 166 fs/ext4/fsmap.c fmr.fmr_flags = FMR_OF_SPECIAL_OWNER; fmr 167 fs/ext4/fsmap.c fmr.fmr_length = rec->fmr_length; fmr 168 fs/ext4/fsmap.c error = info->gfi_formatter(&fmr, info->gfi_format_arg); fmr 180 fs/ext4/fsmap.c static inline ext4_fsblk_t ext4_fsmap_next_pblk(struct ext4_fsmap *fmr) fmr 182 fs/ext4/fsmap.c return fmr->fmr_physical + fmr->fmr_length; fmr 237 fs/xfs/xfs_fsmap.c struct xfs_fsmap fmr; fmr 281 fs/xfs/xfs_fsmap.c fmr.fmr_device = info->dev; fmr 282 fs/xfs/xfs_fsmap.c fmr.fmr_physical = info->next_daddr; fmr 283 fs/xfs/xfs_fsmap.c fmr.fmr_owner = info->missing_owner; fmr 284 fs/xfs/xfs_fsmap.c fmr.fmr_offset = 0; fmr 285 fs/xfs/xfs_fsmap.c fmr.fmr_length = rec_daddr - info->next_daddr; fmr 286 fs/xfs/xfs_fsmap.c fmr.fmr_flags = FMR_OF_SPECIAL_OWNER; fmr 287 fs/xfs/xfs_fsmap.c error = info->formatter(&fmr, info->format_arg); fmr 302 fs/xfs/xfs_fsmap.c fmr.fmr_device = info->dev; fmr 303 fs/xfs/xfs_fsmap.c fmr.fmr_physical = rec_daddr; fmr 304 fs/xfs/xfs_fsmap.c error = xfs_fsmap_owner_from_rmap(&fmr, rec); fmr 307 fs/xfs/xfs_fsmap.c fmr.fmr_offset = XFS_FSB_TO_BB(mp, rec->rm_offset); fmr 308 fs/xfs/xfs_fsmap.c fmr.fmr_length = XFS_FSB_TO_BB(mp, rec->rm_blockcount); fmr 310 fs/xfs/xfs_fsmap.c fmr.fmr_flags |= FMR_OF_PREALLOC; fmr 312 fs/xfs/xfs_fsmap.c fmr.fmr_flags |= FMR_OF_ATTR_FORK; fmr 314 fs/xfs/xfs_fsmap.c fmr.fmr_flags |= FMR_OF_EXTENT_MAP; fmr 315 fs/xfs/xfs_fsmap.c if (fmr.fmr_flags == 0) { fmr 320 fs/xfs/xfs_fsmap.c fmr.fmr_flags |= FMR_OF_SHARED; fmr 322 fs/xfs/xfs_fsmap.c error = info->formatter(&fmr, info->format_arg); fmr 380 fs/xfs/xfs_fsmap.c struct xfs_fsmap *fmr) fmr 383 fs/xfs/xfs_fsmap.c if (fmr->fmr_flags & FMR_OF_ATTR_FORK) fmr 385 fs/xfs/xfs_fsmap.c if (fmr->fmr_flags & FMR_OF_EXTENT_MAP) fmr 387 fs/xfs/xfs_fsmap.c if (fmr->fmr_flags & FMR_OF_PREALLOC) fmr 1415 include/linux/mlx4/device.h int mlx4_map_phys_fmr(struct mlx4_dev *dev, struct mlx4_fmr *fmr, u64 *page_list, fmr 1418 include/linux/mlx4/device.h int max_maps, u8 page_shift, struct mlx4_fmr *fmr); fmr 1419 include/linux/mlx4/device.h int mlx4_fmr_enable(struct mlx4_dev *dev, struct mlx4_fmr *fmr); fmr 1420 include/linux/mlx4/device.h void mlx4_fmr_unmap(struct mlx4_dev *dev, struct mlx4_fmr *fmr, fmr 1422 include/linux/mlx4/device.h int mlx4_fmr_free(struct mlx4_dev *dev, struct mlx4_fmr *fmr); fmr 68 include/rdma/ib_fmr_pool.h struct ib_fmr *fmr; fmr 91 include/rdma/ib_fmr_pool.h void ib_fmr_pool_unmap(struct ib_pool_fmr *fmr); fmr 2420 include/rdma/ib_verbs.h int (*map_phys_fmr)(struct ib_fmr *fmr, u64 *page_list, int list_len, fmr 2423 include/rdma/ib_verbs.h int (*dealloc_fmr)(struct ib_fmr *fmr); fmr 4191 include/rdma/ib_verbs.h static inline int ib_map_phys_fmr(struct ib_fmr *fmr, fmr 4195 include/rdma/ib_verbs.h return fmr->device->ops.map_phys_fmr(fmr, page_list, list_len, iova); fmr 4208 include/rdma/ib_verbs.h int ib_dealloc_fmr(struct ib_fmr *fmr); fmr 39 net/rds/ib_fmr.c struct rds_ib_fmr *fmr; fmr 69 net/rds/ib_fmr.c fmr = &ibmr->u.fmr; fmr 70 net/rds/ib_fmr.c fmr->fmr = ib_alloc_fmr(rds_ibdev->pd, fmr 76 net/rds/ib_fmr.c if (IS_ERR(fmr->fmr)) { fmr 77 net/rds/ib_fmr.c err = PTR_ERR(fmr->fmr); fmr 78 net/rds/ib_fmr.c fmr->fmr = NULL; fmr 103 net/rds/ib_fmr.c struct rds_ib_fmr *fmr = &ibmr->u.fmr; fmr 170 net/rds/ib_fmr.c ret = ib_map_phys_fmr(fmr->fmr, dma_pages, page_cnt, io_addr); fmr 204 net/rds/ib_fmr.c struct rds_ib_fmr *fmr; fmr 212 net/rds/ib_fmr.c fmr = &ibmr->u.fmr; fmr 215 net/rds/ib_fmr.c *key = fmr->fmr->rkey; fmr 226 net/rds/ib_fmr.c struct rds_ib_fmr *fmr; fmr 233 net/rds/ib_fmr.c fmr = &ibmr->u.fmr; fmr 234 net/rds/ib_fmr.c list_add(&fmr->fmr->list, &fmr_list); fmr 243 net/rds/ib_fmr.c fmr = &ibmr->u.fmr; fmr 253 net/rds/ib_fmr.c ib_dealloc_fmr(fmr->fmr); fmr 47 net/rds/ib_mr.h struct ib_fmr *fmr; fmr 85 net/rds/ib_mr.h struct rds_ib_fmr fmr;