/linux-4.4.14/drivers/infiniband/core/ |
D | fmr_pool.c | 120 struct ib_pool_fmr *fmr; in ib_fmr_cache_lookup() local 127 hlist_for_each_entry(fmr, bucket, cache_node) in ib_fmr_cache_lookup() 128 if (io_virtual_address == fmr->io_virtual_address && in ib_fmr_cache_lookup() 129 page_list_len == fmr->page_list_len && in ib_fmr_cache_lookup() 130 !memcmp(page_list, fmr->page_list, in ib_fmr_cache_lookup() 132 return fmr; in ib_fmr_cache_lookup() 140 struct ib_pool_fmr *fmr; in ib_fmr_batch_release() local 146 list_for_each_entry(fmr, &pool->dirty_list, list) { in ib_fmr_batch_release() 147 hlist_del_init(&fmr->cache_node); in ib_fmr_batch_release() 148 fmr->remap_count = 0; in ib_fmr_batch_release() [all …]
|
D | verbs.c | 1325 struct ib_fmr *fmr; in ib_alloc_fmr() local 1330 fmr = pd->device->alloc_fmr(pd, mr_access_flags, fmr_attr); in ib_alloc_fmr() 1331 if (!IS_ERR(fmr)) { in ib_alloc_fmr() 1332 fmr->device = pd->device; in ib_alloc_fmr() 1333 fmr->pd = pd; in ib_alloc_fmr() 1337 return fmr; in ib_alloc_fmr() 1343 struct ib_fmr *fmr; in ib_unmap_fmr() local 1348 fmr = list_entry(fmr_list->next, struct ib_fmr, list); in ib_unmap_fmr() 1349 return fmr->device->unmap_fmr(fmr_list); in ib_unmap_fmr() 1353 int ib_dealloc_fmr(struct ib_fmr *fmr) in ib_dealloc_fmr() argument [all …]
|
/linux-4.4.14/drivers/staging/rdma/ipath/ |
D | ipath_mr.c | 285 struct ipath_fmr *fmr; in ipath_alloc_fmr() local 291 fmr = kmalloc(sizeof *fmr + m * sizeof fmr->mr.map[0], GFP_KERNEL); in ipath_alloc_fmr() 292 if (!fmr) in ipath_alloc_fmr() 297 fmr->mr.map[i] = kmalloc(sizeof *fmr->mr.map[0], in ipath_alloc_fmr() 299 if (!fmr->mr.map[i]) in ipath_alloc_fmr() 302 fmr->mr.mapsz = m; in ipath_alloc_fmr() 308 if (!ipath_alloc_lkey(&to_idev(pd->device)->lk_table, &fmr->mr)) in ipath_alloc_fmr() 310 fmr->ibfmr.rkey = fmr->ibfmr.lkey = fmr->mr.lkey; in ipath_alloc_fmr() 315 fmr->mr.pd = pd; in ipath_alloc_fmr() 316 fmr->mr.user_base = 0; in ipath_alloc_fmr() [all …]
|
/linux-4.4.14/drivers/staging/rdma/hfi1/ |
D | mr.c | 379 struct hfi1_fmr *fmr; in hfi1_alloc_fmr() local 386 fmr = kzalloc(sizeof(*fmr) + m * sizeof(fmr->mr.map[0]), GFP_KERNEL); in hfi1_alloc_fmr() 387 if (!fmr) in hfi1_alloc_fmr() 390 rval = init_mregion(&fmr->mr, pd, fmr_attr->max_pages); in hfi1_alloc_fmr() 398 rval = hfi1_alloc_lkey(&fmr->mr, 0); in hfi1_alloc_fmr() 401 fmr->ibfmr.rkey = fmr->mr.lkey; in hfi1_alloc_fmr() 402 fmr->ibfmr.lkey = fmr->mr.lkey; in hfi1_alloc_fmr() 407 fmr->mr.access_flags = mr_access_flags; in hfi1_alloc_fmr() 408 fmr->mr.max_segs = fmr_attr->max_pages; in hfi1_alloc_fmr() 409 fmr->mr.page_shift = fmr_attr->page_shift; in hfi1_alloc_fmr() [all …]
|
/linux-4.4.14/drivers/infiniband/hw/qib/ |
D | qib_mr.c | 389 struct qib_fmr *fmr; in qib_alloc_fmr() local 396 fmr = kzalloc(sizeof(*fmr) + m * sizeof(fmr->mr.map[0]), GFP_KERNEL); in qib_alloc_fmr() 397 if (!fmr) in qib_alloc_fmr() 400 rval = init_qib_mregion(&fmr->mr, pd, fmr_attr->max_pages); in qib_alloc_fmr() 408 rval = qib_alloc_lkey(&fmr->mr, 0); in qib_alloc_fmr() 411 fmr->ibfmr.rkey = fmr->mr.lkey; in qib_alloc_fmr() 412 fmr->ibfmr.lkey = fmr->mr.lkey; in qib_alloc_fmr() 417 fmr->mr.access_flags = mr_access_flags; in qib_alloc_fmr() 418 fmr->mr.max_segs = fmr_attr->max_pages; in qib_alloc_fmr() 419 fmr->mr.page_shift = fmr_attr->page_shift; in qib_alloc_fmr() [all …]
|
/linux-4.4.14/net/sunrpc/xprtrdma/ |
D | fmr_ops.c | 83 r->r.fmr.physaddrs = kmalloc(RPCRDMA_MAX_FMR_SGES * in fmr_op_init() 85 if (!r->r.fmr.physaddrs) in fmr_op_init() 88 r->r.fmr.fmr = ib_alloc_fmr(pd, mr_access_flags, &fmr_attr); in fmr_op_init() 89 if (IS_ERR(r->r.fmr.fmr)) in fmr_op_init() 98 rc = PTR_ERR(r->r.fmr.fmr); in fmr_op_init() 100 kfree(r->r.fmr.physaddrs); in fmr_op_init() 112 list_add(&r->r.fmr.fmr->list, &l); in __fmr_unmap() 151 mw->r.fmr.physaddrs[i] = seg->mr_dma; in fmr_op_map() 161 rc = ib_map_phys_fmr(mw->r.fmr.fmr, mw->r.fmr.physaddrs, in fmr_op_map() 167 seg1->mr_rkey = mw->r.fmr.fmr->rkey; in fmr_op_map() [all …]
|
D | xprt_rdma.h | 213 struct ib_fmr *fmr; member 219 struct rpcrdma_fmr fmr; member
|
/linux-4.4.14/drivers/infiniband/hw/mthca/ |
D | mthca_mr.c | 678 int mthca_free_fmr(struct mthca_dev *dev, struct mthca_fmr *fmr) in mthca_free_fmr() argument 680 if (fmr->maps) in mthca_free_fmr() 683 mthca_free_region(dev, fmr->ibmr.lkey); in mthca_free_fmr() 684 mthca_free_mtt(dev, fmr->mtt); in mthca_free_fmr() 689 static inline int mthca_check_fmr(struct mthca_fmr *fmr, u64 *page_list, in mthca_check_fmr() argument 694 if (list_len > fmr->attr.max_pages) in mthca_check_fmr() 697 page_mask = (1 << fmr->attr.page_shift) - 1; in mthca_check_fmr() 710 if (fmr->maps >= fmr->attr.max_maps) in mthca_check_fmr() 720 struct mthca_fmr *fmr = to_mfmr(ibfmr); in mthca_tavor_map_phys_fmr() local 726 err = mthca_check_fmr(fmr, page_list, list_len, iova); in mthca_tavor_map_phys_fmr() [all …]
|
D | mthca_provider.c | 1099 struct mthca_fmr *fmr; in mthca_alloc_fmr() local 1102 fmr = kmalloc(sizeof *fmr, GFP_KERNEL); in mthca_alloc_fmr() 1103 if (!fmr) in mthca_alloc_fmr() 1106 memcpy(&fmr->attr, fmr_attr, sizeof *fmr_attr); in mthca_alloc_fmr() 1108 convert_access(mr_access_flags), fmr); in mthca_alloc_fmr() 1111 kfree(fmr); in mthca_alloc_fmr() 1115 return &fmr->ibmr; in mthca_alloc_fmr() 1118 static int mthca_dealloc_fmr(struct ib_fmr *fmr) in mthca_dealloc_fmr() argument 1120 struct mthca_fmr *mfmr = to_mfmr(fmr); in mthca_dealloc_fmr() 1123 err = mthca_free_fmr(to_mdev(fmr->device), mfmr); in mthca_dealloc_fmr() [all …]
|
D | mthca_dev.h | 482 u32 access, struct mthca_fmr *fmr); 485 void mthca_tavor_fmr_unmap(struct mthca_dev *dev, struct mthca_fmr *fmr); 488 void mthca_arbel_fmr_unmap(struct mthca_dev *dev, struct mthca_fmr *fmr); 489 int mthca_free_fmr(struct mthca_dev *dev, struct mthca_fmr *fmr);
|
/linux-4.4.14/drivers/net/ethernet/mellanox/mlx4/ |
D | mr.c | 972 static inline int mlx4_check_fmr(struct mlx4_fmr *fmr, u64 *page_list, in mlx4_check_fmr() argument 977 if (npages > fmr->max_pages) in mlx4_check_fmr() 980 page_mask = (1 << fmr->page_shift) - 1; in mlx4_check_fmr() 993 if (fmr->maps >= fmr->max_maps) in mlx4_check_fmr() 999 int mlx4_map_phys_fmr(struct mlx4_dev *dev, struct mlx4_fmr *fmr, u64 *page_list, in mlx4_map_phys_fmr() argument 1005 err = mlx4_check_fmr(fmr, page_list, npages, iova); in mlx4_map_phys_fmr() 1009 ++fmr->maps; in mlx4_map_phys_fmr() 1011 key = key_to_hw_index(fmr->mr.key); in mlx4_map_phys_fmr() 1013 *lkey = *rkey = fmr->mr.key = hw_index_to_key(key); in mlx4_map_phys_fmr() 1015 *(u8 *) fmr->mpt = MLX4_MPT_STATUS_SW; in mlx4_map_phys_fmr() [all …]
|
/linux-4.4.14/drivers/infiniband/hw/mlx4/ |
D | mr.c | 450 struct mlx4_ib_fmr *fmr; in mlx4_ib_fmr_alloc() local 453 fmr = kmalloc(sizeof *fmr, GFP_KERNEL); in mlx4_ib_fmr_alloc() 454 if (!fmr) in mlx4_ib_fmr_alloc() 459 fmr_attr->page_shift, &fmr->mfmr); in mlx4_ib_fmr_alloc() 463 err = mlx4_fmr_enable(to_mdev(pd->device)->dev, &fmr->mfmr); in mlx4_ib_fmr_alloc() 467 fmr->ibfmr.rkey = fmr->ibfmr.lkey = fmr->mfmr.mr.key; in mlx4_ib_fmr_alloc() 469 return &fmr->ibfmr; in mlx4_ib_fmr_alloc() 472 (void) mlx4_mr_free(to_mdev(pd->device)->dev, &fmr->mfmr.mr); in mlx4_ib_fmr_alloc() 475 kfree(fmr); in mlx4_ib_fmr_alloc()
|
D | mlx4_ib.h | 772 int mlx4_ib_fmr_dealloc(struct ib_fmr *fmr);
|
/linux-4.4.14/net/rds/ |
D | ib_rdma.c | 50 struct ib_fmr *fmr; member 386 ibmr->fmr = ib_alloc_fmr(rds_ibdev->pd, in rds_ib_alloc_fmr() 392 if (IS_ERR(ibmr->fmr)) { in rds_ib_alloc_fmr() 393 err = PTR_ERR(ibmr->fmr); in rds_ib_alloc_fmr() 394 ibmr->fmr = NULL; in rds_ib_alloc_fmr() 409 if (ibmr->fmr) in rds_ib_alloc_fmr() 410 ib_dealloc_fmr(ibmr->fmr); in rds_ib_alloc_fmr() 478 ret = ib_map_phys_fmr(ibmr->fmr, in rds_ib_map_fmr() 692 list_add(&ibmr->fmr->list, &fmr_list); in rds_ib_flush_mr_pool() 709 ib_dealloc_fmr(ibmr->fmr); in rds_ib_flush_mr_pool() [all …]
|
/linux-4.4.14/include/rdma/ |
D | ib_fmr_pool.h | 68 struct ib_fmr *fmr; member 91 int ib_fmr_pool_unmap(struct ib_pool_fmr *fmr);
|
D | ib_verbs.h | 1769 int (*map_phys_fmr)(struct ib_fmr *fmr, 1773 int (*dealloc_fmr)(struct ib_fmr *fmr); 2940 static inline int ib_map_phys_fmr(struct ib_fmr *fmr, in ib_map_phys_fmr() argument 2944 return fmr->device->map_phys_fmr(fmr, page_list, list_len, iova); in ib_map_phys_fmr() 2957 int ib_dealloc_fmr(struct ib_fmr *fmr);
|
/linux-4.4.14/drivers/infiniband/ulp/iser/ |
D | iser_memory.c | 280 struct ib_pool_fmr *fmr; in iser_fast_reg_fmr() local 295 fmr = ib_fmr_pool_map_phys(fmr_pool, in iser_fast_reg_fmr() 299 if (IS_ERR(fmr)) { in iser_fast_reg_fmr() 300 ret = PTR_ERR(fmr); in iser_fast_reg_fmr() 305 reg->sge.lkey = fmr->fmr->lkey; in iser_fast_reg_fmr() 306 reg->rkey = fmr->fmr->rkey; in iser_fast_reg_fmr() 309 reg->mem_h = fmr; in iser_fast_reg_fmr()
|
/linux-4.4.14/drivers/staging/rdma/ehca/ |
D | ehca_mrmw.c | 855 int ehca_map_phys_fmr(struct ib_fmr *fmr, in ehca_map_phys_fmr() argument 862 container_of(fmr->device, struct ehca_shca, ib_device); in ehca_map_phys_fmr() 863 struct ehca_mr *e_fmr = container_of(fmr, struct ehca_mr, ib.ib_fmr); in ehca_map_phys_fmr() 864 struct ehca_pd *e_pd = container_of(fmr->pd, struct ehca_pd, ib_pd); in ehca_map_phys_fmr() 869 ehca_err(fmr->device, "not a FMR, e_fmr=%p e_fmr->flags=%x", in ehca_map_phys_fmr() 879 ehca_err(fmr->device, "bad iova, iova=%llx fmr_page_size=%x", in ehca_map_phys_fmr() 886 ehca_info(fmr->device, "map limit exceeded, fmr=%p " in ehca_map_phys_fmr() 888 fmr, e_fmr->fmr_map_cnt, e_fmr->fmr_max_maps); in ehca_map_phys_fmr() 897 pginfo.u.fmr.page_list = page_list; in ehca_map_phys_fmr() 900 pginfo.u.fmr.fmr_pgsize = e_fmr->fmr_page_size; in ehca_map_phys_fmr() [all …]
|
D | ehca_iverbs.h | 113 int ehca_map_phys_fmr(struct ib_fmr *fmr, 118 int ehca_dealloc_fmr(struct ib_fmr *fmr);
|
D | ehca_classes.h | 332 } fmr; member
|
/linux-4.4.14/drivers/mtd/nand/ |
D | fsl_elbc_nand.c | 59 unsigned int fmr; /* FCM Flash Mode Register value */ member 205 out_be32(&lbc->fmr, priv->fmr | 3); in fsl_elbc_run_command() 211 in_be32(&lbc->fmr), in_be32(&lbc->fir), in_be32(&lbc->fcr)); in fsl_elbc_run_command() 635 priv->fmr |= al << FMR_AL_SHIFT; in fsl_elbc_chip_init_tail() 683 chip->ecc.layout = (priv->fmr & FMR_ECCM) ? in fsl_elbc_chip_init_tail() 753 priv->fmr = 15 << FMR_CWTO_SHIFT; in fsl_elbc_chip_init() 755 priv->fmr |= FMR_ECCM; in fsl_elbc_chip_init() 784 chip->ecc.layout = (priv->fmr & FMR_ECCM) ? in fsl_elbc_chip_init()
|
/linux-4.4.14/arch/powerpc/math-emu/ |
D | fmr.c | 6 fmr(u32 *frD, u32 *frB) in fmr() function
|
D | Makefile | 12 fmr.o lfd.o stfd.o
|
D | math.c | 69 FLOATFUNC(fmr); 314 case FMR: func = fmr; type = XB; break; in do_mathemu()
|
/linux-4.4.14/drivers/infiniband/ulp/srp/ |
D | ib_srp.h | 285 } fmr; member
|
D | ib_srp.c | 1280 struct ib_pool_fmr *fmr; in srp_map_finish_fmr() local 1283 if (state->fmr.next >= state->fmr.end) in srp_map_finish_fmr() 1297 fmr = ib_fmr_pool_map_phys(ch->fmr_pool, state->pages, in srp_map_finish_fmr() 1299 if (IS_ERR(fmr)) in srp_map_finish_fmr() 1300 return PTR_ERR(fmr); in srp_map_finish_fmr() 1302 *state->fmr.next++ = fmr; in srp_map_finish_fmr() 1306 state->dma_len, fmr->fmr->rkey); in srp_map_finish_fmr() 1428 state->fmr.next = req->fmr_list; in srp_map_sg_fmr() 1429 state->fmr.end = req->fmr_list + ch->target->cmd_sg_cnt; in srp_map_sg_fmr()
|
/linux-4.4.14/drivers/infiniband/hw/ocrdma/ |
D | ocrdma_hw.h | 119 int ocrdma_mbx_dealloc_lkey(struct ocrdma_dev *, int fmr, u32 lkey);
|
/linux-4.4.14/include/linux/mlx4/ |
D | device.h | 1360 int mlx4_map_phys_fmr(struct mlx4_dev *dev, struct mlx4_fmr *fmr, u64 *page_list, 1363 int max_maps, u8 page_shift, struct mlx4_fmr *fmr); 1364 int mlx4_fmr_enable(struct mlx4_dev *dev, struct mlx4_fmr *fmr); 1365 void mlx4_fmr_unmap(struct mlx4_dev *dev, struct mlx4_fmr *fmr, 1367 int mlx4_fmr_free(struct mlx4_dev *dev, struct mlx4_fmr *fmr);
|
/linux-4.4.14/arch/powerpc/lib/ |
D | ldstfp.S | 49 fmr fr0,reg 68 fmr reg,fr0
|
/linux-4.4.14/drivers/staging/lustre/lnet/klnds/o2iblnd/ |
D | o2iblnd.h | 515 kib_fmr_t fmr; /* FMR */ member 919 int npages, __u64 iov, kib_fmr_t *fmr); 920 void kiblnd_fmr_pool_unmap(kib_fmr_t *fmr, int status);
|
D | o2iblnd.c | 1487 void kiblnd_fmr_pool_unmap(kib_fmr_t *fmr, int status) in kiblnd_fmr_pool_unmap() argument 1490 kib_fmr_pool_t *fpo = fmr->fmr_pool; in kiblnd_fmr_pool_unmap() 1496 rc = ib_fmr_pool_unmap(fmr->fmr_pfmr); in kiblnd_fmr_pool_unmap() 1504 fmr->fmr_pool = NULL; in kiblnd_fmr_pool_unmap() 1505 fmr->fmr_pfmr = NULL; in kiblnd_fmr_pool_unmap() 1527 __u64 iov, kib_fmr_t *fmr) in kiblnd_fmr_pool_map() argument 1545 fmr->fmr_pool = fpo; in kiblnd_fmr_pool_map() 1546 fmr->fmr_pfmr = pfmr; in kiblnd_fmr_pool_map()
|
D | o2iblnd_cb.c | 584 rc = kiblnd_fmr_pool_map(fps, pages, npages, 0, &tx->fmr); in kiblnd_fmr_map_tx() 592 rd->rd_key = (rd != tx->tx_rd) ? tx->fmr.fmr_pfmr->fmr->rkey : in kiblnd_fmr_map_tx() 593 tx->fmr.fmr_pfmr->fmr->lkey; in kiblnd_fmr_map_tx() 607 if (net->ibn_fmr_ps && tx->fmr.fmr_pfmr) { in kiblnd_unmap_tx() 608 kiblnd_fmr_pool_unmap(&tx->fmr, tx->tx_status); in kiblnd_unmap_tx() 609 tx->fmr.fmr_pfmr = NULL; in kiblnd_unmap_tx()
|
/linux-4.4.14/arch/powerpc/include/asm/ |
D | fsl_lbc.h | 178 __be32 fmr; /**< Flash Mode Register */ member
|
/linux-4.4.14/drivers/tty/serial/ |
D | atmel_serial.c | 1889 unsigned int fmr; in atmel_startup() local 1899 fmr = ATMEL_US_TXRDYM(txrdym) | ATMEL_US_RXRDYM(rxrdym); in atmel_startup() 1902 fmr |= ATMEL_US_FRTSC | in atmel_startup() 1906 atmel_uart_writel(port, ATMEL_US_FMR, fmr); in atmel_startup()
|
/linux-4.4.14/arch/powerpc/kernel/ |
D | exceptions-64s.S | 557 #define FMR2(n) fmr (n), (n) ; fmr n+1, n+1
|