/Linux-v4.19/drivers/net/ethernet/mellanox/mlx4/ |
D | pd.c | 145 int mlx4_uar_alloc(struct mlx4_dev *dev, struct mlx4_uar *uar) in mlx4_uar_alloc() argument 149 uar->index = mlx4_bitmap_alloc(&mlx4_priv(dev)->uar_table.bitmap); in mlx4_uar_alloc() 150 if (uar->index == -1) in mlx4_uar_alloc() 154 offset = uar->index % ((int)pci_resource_len(dev->persist->pdev, in mlx4_uar_alloc() 158 offset = uar->index; in mlx4_uar_alloc() 159 uar->pfn = (pci_resource_start(dev->persist->pdev, 2) >> PAGE_SHIFT) in mlx4_uar_alloc() 161 uar->map = NULL; in mlx4_uar_alloc() 166 void mlx4_uar_free(struct mlx4_dev *dev, struct mlx4_uar *uar) in mlx4_uar_free() argument 168 mlx4_bitmap_free(&mlx4_priv(dev)->uar_table.bitmap, uar->index, MLX4_USE_RR); in mlx4_uar_free() 175 struct mlx4_uar *uar; in mlx4_bf_alloc() local [all …]
|
D | cq.c | 291 struct mlx4_mtt *mtt, struct mlx4_uar *uar, u64 db_rec, in mlx4_cq_alloc() argument 330 mlx4_to_hw_uar_index(dev, uar->index)); in mlx4_cq_alloc() 346 cq->uar = uar; in mlx4_cq_alloc()
|
/Linux-v4.19/drivers/infiniband/hw/hns/ |
D | hns_roce_pd.c | 104 int hns_roce_uar_alloc(struct hns_roce_dev *hr_dev, struct hns_roce_uar *uar) in hns_roce_uar_alloc() argument 110 ret = hns_roce_bitmap_alloc(&hr_dev->uar_table.bitmap, &uar->logic_idx); in hns_roce_uar_alloc() 114 if (uar->logic_idx > 0 && hr_dev->caps.phy_num_uars > 1) in hns_roce_uar_alloc() 115 uar->index = (uar->logic_idx - 1) % in hns_roce_uar_alloc() 118 uar->index = 0; in hns_roce_uar_alloc() 126 uar->pfn = ((res->start) >> PAGE_SHIFT) + uar->index; in hns_roce_uar_alloc() 128 uar->pfn = ((pci_resource_start(hr_dev->pci_dev, 2)) in hns_roce_uar_alloc() 135 void hns_roce_uar_free(struct hns_roce_dev *hr_dev, struct hns_roce_uar *uar) in hns_roce_uar_free() argument 137 hns_roce_bitmap_free(&hr_dev->uar_table.bitmap, uar->logic_idx, in hns_roce_uar_free()
|
D | hns_roce_cq.c | 160 hr_cq->uar = hr_uar; in hns_roce_cq_alloc() 320 struct hns_roce_uar *uar = NULL; in hns_roce_ib_create_cq() local 371 uar = &to_hr_ucontext(context)->uar; in hns_roce_ib_create_cq() 391 uar = &hr_dev->priv_uar; in hns_roce_ib_create_cq() 393 DB_REG_OFFSET * uar->index; in hns_roce_ib_create_cq() 397 ret = hns_roce_cq_alloc(hr_dev, cq_entries, &hr_cq->hr_buf.hr_mtt, uar, in hns_roce_ib_create_cq()
|
D | hns_roce_device.h | 230 struct hns_roce_uar uar; member 410 struct hns_roce_uar *uar; member 910 int hns_roce_uar_alloc(struct hns_roce_dev *dev, struct hns_roce_uar *uar); 911 void hns_roce_uar_free(struct hns_roce_dev *dev, struct hns_roce_uar *uar);
|
D | hns_roce_main.c | 343 ret = hns_roce_uar_alloc(hr_dev, &context->uar); in hns_roce_alloc_ucontext() 361 hns_roce_uar_free(hr_dev, &context->uar); in hns_roce_alloc_ucontext() 373 hns_roce_uar_free(to_hr_dev(ibcontext->device), &context->uar); in hns_roce_dealloc_ucontext() 434 to_hr_ucontext(context)->uar.pfn, in hns_roce_mmap()
|
/Linux-v4.19/drivers/infiniband/hw/mthca/ |
D | mthca_uar.c | 38 int mthca_uar_alloc(struct mthca_dev *dev, struct mthca_uar *uar) in mthca_uar_alloc() argument 40 uar->index = mthca_alloc(&dev->uar_table.alloc); in mthca_uar_alloc() 41 if (uar->index == -1) in mthca_uar_alloc() 44 uar->pfn = (pci_resource_start(dev->pdev, 2) >> PAGE_SHIFT) + uar->index; in mthca_uar_alloc() 49 void mthca_uar_free(struct mthca_dev *dev, struct mthca_uar *uar) in mthca_uar_free() argument 51 mthca_free(&dev->uar_table.alloc, uar->index); in mthca_uar_free()
|
D | mthca_provider.c | 325 err = mthca_uar_alloc(to_mdev(ibdev), &context->uar); in mthca_alloc_ucontext() 334 mthca_uar_free(to_mdev(ibdev), &context->uar); in mthca_alloc_ucontext() 340 mthca_cleanup_user_db_tab(to_mdev(ibdev), &context->uar, context->db_tab); in mthca_alloc_ucontext() 341 mthca_uar_free(to_mdev(ibdev), &context->uar); in mthca_alloc_ucontext() 353 mthca_cleanup_user_db_tab(to_mdev(context->device), &to_mucontext(context)->uar, in mthca_dealloc_ucontext() 355 mthca_uar_free(to_mdev(context->device), &to_mucontext(context)->uar); in mthca_dealloc_ucontext() 370 to_mucontext(context)->uar.pfn, in mthca_mmap_uar() 466 err = mthca_map_user_db(to_mdev(pd->device), &context->uar, in mthca_create_srq() 481 mthca_unmap_user_db(to_mdev(pd->device), &context->uar, in mthca_create_srq() 508 mthca_unmap_user_db(to_mdev(srq->device), &context->uar, in mthca_destroy_srq() [all …]
|
D | mthca_memfree.h | 165 int mthca_map_user_db(struct mthca_dev *dev, struct mthca_uar *uar, 167 void mthca_unmap_user_db(struct mthca_dev *dev, struct mthca_uar *uar, 170 void mthca_cleanup_user_db_tab(struct mthca_dev *dev, struct mthca_uar *uar,
|
D | mthca_memfree.c | 439 static u64 mthca_uarc_virt(struct mthca_dev *dev, struct mthca_uar *uar, int page) in mthca_uarc_virt() argument 442 uar->index * dev->uar_table.uarc_size + in mthca_uarc_virt() 446 int mthca_map_user_db(struct mthca_dev *dev, struct mthca_uar *uar, in mthca_map_user_db() argument 489 mthca_uarc_virt(dev, uar, i)); in mthca_map_user_db() 504 void mthca_unmap_user_db(struct mthca_dev *dev, struct mthca_uar *uar, in mthca_unmap_user_db() argument 546 void mthca_cleanup_user_db_tab(struct mthca_dev *dev, struct mthca_uar *uar, in mthca_cleanup_user_db_tab() argument 556 mthca_UNMAP_ICM(dev, mthca_uarc_virt(dev, uar, i), 1); in mthca_cleanup_user_db_tab()
|
D | mthca_srq.c | 52 __be32 uar; member 107 context->uar = in mthca_tavor_init_srq_context() 108 cpu_to_be32(to_mucontext(pd->ibpd.uobject->context)->uar.index); in mthca_tavor_init_srq_context() 110 context->uar = cpu_to_be32(dev->driver_uar.index); in mthca_tavor_init_srq_context() 134 cpu_to_be32(to_mucontext(pd->ibpd.uobject->context)->uar.index); in mthca_arbel_init_srq_context()
|
D | mthca_provider.h | 66 struct mthca_uar uar; member
|
/Linux-v4.19/drivers/infiniband/hw/vmw_pvrdma/ |
D | pvrdma_doorbell.c | 83 int pvrdma_uar_alloc(struct pvrdma_dev *dev, struct pvrdma_uar_map *uar) in pvrdma_uar_alloc() argument 108 uar->index = obj; in pvrdma_uar_alloc() 109 uar->pfn = (pci_resource_start(dev->pdev, PVRDMA_PCI_RESOURCE_UAR) >> in pvrdma_uar_alloc() 110 PAGE_SHIFT) + uar->index; in pvrdma_uar_alloc() 115 void pvrdma_uar_free(struct pvrdma_dev *dev, struct pvrdma_uar_map *uar) in pvrdma_uar_free() argument 121 obj = uar->index & (tbl->max - 1); in pvrdma_uar_free()
|
D | pvrdma.h | 90 struct pvrdma_uar_map *uar; member 123 struct pvrdma_uar_map uar; member 498 int pvrdma_uar_alloc(struct pvrdma_dev *dev, struct pvrdma_uar_map *uar); 499 void pvrdma_uar_free(struct pvrdma_dev *dev, struct pvrdma_uar_map *uar);
|
D | pvrdma_verbs.c | 335 ret = pvrdma_uar_alloc(vdev, &context->uar); in pvrdma_alloc_ucontext() 343 cmd->pfn = context->uar.pfn; in pvrdma_alloc_ucontext() 359 pvrdma_uar_free(vdev, &context->uar); in pvrdma_alloc_ucontext() 368 pvrdma_uar_free(vdev, &context->uar); in pvrdma_alloc_ucontext() 396 pvrdma_uar_free(to_vdev(ibcontext->device), &context->uar); in pvrdma_dealloc_ucontext() 427 if (io_remap_pfn_range(vma, start, context->uar.pfn, size, in pvrdma_mmap()
|
D | pvrdma_cq.c | 207 cq->uar = &(to_vucontext(context)->uar); in pvrdma_create_cq()
|
/Linux-v4.19/drivers/net/ethernet/mellanox/mlx5/core/fpga/ |
D | conn.c | 138 mlx5_write64(wqe, conn->fdev->conn_res.uar->map + MLX5_BF_OFFSET, NULL); in mlx5_fpga_conn_notify_hw() 362 conn->fdev->conn_res.uar->map, conn->cq.wq.cc); in mlx5_fpga_conn_arm_cq() 471 MLX5_SET(cqc, cqc, uar_page, fdev->conn_res.uar->index); in mlx5_fpga_conn_create_cq() 494 conn->cq.mcq.uar = fdev->conn_res.uar; in mlx5_fpga_conn_create_cq() 578 MLX5_SET(qpc, qpc, uar_page, fdev->conn_res.uar->index); in mlx5_fpga_conn_create_qp() 1003 fdev->conn_res.uar = mlx5_get_uars_page(fdev->mdev); in mlx5_fpga_conn_device_init() 1004 if (IS_ERR(fdev->conn_res.uar)) { in mlx5_fpga_conn_device_init() 1005 err = PTR_ERR(fdev->conn_res.uar); in mlx5_fpga_conn_device_init() 1010 fdev->conn_res.uar->index); in mlx5_fpga_conn_device_init() 1032 mlx5_put_uars_page(fdev->mdev, fdev->conn_res.uar); in mlx5_fpga_conn_device_init() [all …]
|
D | core.h | 52 struct mlx5_uars_page *uar; member
|
/Linux-v4.19/drivers/net/ethernet/mellanox/mlx5/core/ |
D | cq.c | 136 cq->uar = dev->priv.uar; in mlx5_core_create_cq()
|
D | uar.c | 49 *uarn = MLX5_GET(alloc_uar_out, out, uar); in mlx5_cmd_alloc_uar() 60 MLX5_SET(dealloc_uar_in, in, uar, uarn); in mlx5_cmd_free_uar()
|
D | Makefile | 14 mlx5_core-y := main.o cmd.o debugfs.o fw.o eq.o uar.o pagealloc.o \
|
D | main.c | 1170 dev->priv.uar = mlx5_get_uars_page(dev); in mlx5_load_one() 1171 if (IS_ERR(dev->priv.uar)) { in mlx5_load_one() 1173 err = PTR_ERR(dev->priv.uar); in mlx5_load_one() 1281 mlx5_put_uars_page(dev, priv->uar); in mlx5_load_one() 1347 mlx5_put_uars_page(dev, priv->uar); in mlx5_unload_one()
|
/Linux-v4.19/drivers/infiniband/hw/mlx4/ |
D | cq.c | 183 struct mlx4_uar *uar; in mlx4_ib_create_cq() local 224 uar = &to_mucontext(context)->uar; in mlx4_ib_create_cq() 240 uar = &dev->priv_uar; in mlx4_ib_create_cq() 247 err = mlx4_cq_alloc(dev->dev, entries, &cq->buf.mtt, uar, in mlx4_ib_create_cq()
|
/Linux-v4.19/include/linux/mlx5/ |
D | cq.h | 45 struct mlx5_uars_page *uar; member
|
/Linux-v4.19/include/linux/mlx4/ |
D | device.h | 732 struct mlx4_uar *uar; member 740 struct mlx4_uar *uar; member 1106 int mlx4_uar_alloc(struct mlx4_dev *dev, struct mlx4_uar *uar); 1107 void mlx4_uar_free(struct mlx4_dev *dev, struct mlx4_uar *uar); 1138 struct mlx4_uar *uar, u64 db_rec, struct mlx4_cq *cq,
|