| /linux/drivers/net/ethernet/mellanox/mlx4/ |
| H A 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 …]
|
| H A D | cq.c | 343 struct mlx4_mtt *mtt, struct mlx4_uar *uar, u64 db_rec, in mlx4_cq_alloc() argument 383 mlx4_to_hw_uar_index(dev, uar->index)); in mlx4_cq_alloc() 412 cq->uar = uar; in mlx4_cq_alloc()
|
| H A D | en_tx.c | 126 ring->bf.uar = &mdev->priv_uar; in mlx4_en_create_tx_ring() 127 ring->bf.uar->map = mdev->uar_map; in mlx4_en_create_tx_ring() 136 ring->doorbell_address = ring->bf.uar->map + MLX4_SEND_DOORBELL; in mlx4_en_create_tx_ring() 210 ring->bf.uar->index)); in mlx4_en_activate_tx_ring()
|
| /linux/drivers/infiniband/hw/mthca/ |
| H A 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()
|
| H A 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,
|
| H A 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 491 mthca_uarc_virt(dev, uar, i)); in mthca_map_user_db() 507 void mthca_unmap_user_db(struct mthca_dev *dev, struct mthca_uar *uar, in mthca_unmap_user_db() argument 549 void mthca_cleanup_user_db_tab(struct mthca_dev *dev, struct mthca_uar *uar, in mthca_cleanup_user_db_tab() argument 559 mthca_UNMAP_ICM(dev, mthca_uarc_virt(dev, uar, i), 1); in mthca_cleanup_user_db_tab()
|
| H A D | mthca_srq.c | 54 __be32 uar; member 113 context->uar = cpu_to_be32(ucontext->uar.index); in mthca_tavor_init_srq_context() 115 context->uar = cpu_to_be32(dev->driver_uar.index); in mthca_tavor_init_srq_context() 141 context->logstride_usrpage |= cpu_to_be32(ucontext->uar.index); in mthca_arbel_init_srq_context()
|
| H A D | mthca_provider.h | 66 struct mthca_uar uar; member
|
| H A D | mthca_dev.h | 458 int mthca_uar_alloc(struct mthca_dev *dev, struct mthca_uar *uar); 459 void mthca_uar_free(struct mthca_dev *dev, struct mthca_uar *uar);
|
| /linux/drivers/infiniband/hw/vmw_pvrdma/ |
| H A 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()
|
| H A D | pvrdma.h | 90 struct pvrdma_uar_map *uar; member 123 struct pvrdma_uar_map uar; member 535 int pvrdma_uar_alloc(struct pvrdma_dev *dev, struct pvrdma_uar_map *uar); 536 void pvrdma_uar_free(struct pvrdma_dev *dev, struct pvrdma_uar_map *uar);
|
| H A D | pvrdma_cq.c | 204 cq->uar = &context->uar; in pvrdma_create_cq()
|
| /linux/drivers/infiniband/hw/hns/ |
| H A D | hns_roce_pd.c | 84 int hns_roce_uar_alloc(struct hns_roce_dev *hr_dev, struct hns_roce_uar *uar) in hns_roce_uar_alloc() argument 96 uar->logic_idx = (unsigned long)id; in hns_roce_uar_alloc() 98 if (uar->logic_idx > 0 && hr_dev->caps.phy_num_uars > 1) in hns_roce_uar_alloc() 99 uar->index = (uar->logic_idx - 1) % in hns_roce_uar_alloc() 102 uar->index = 0; in hns_roce_uar_alloc() 104 uar->pfn = ((pci_resource_start(hr_dev->pci_dev, 2)) >> PAGE_SHIFT); in hns_roce_uar_alloc()
|
| H A D | hns_roce_main.c | 407 address = context->uar.pfn << PAGE_SHIFT; in hns_roce_alloc_uar_entry() 459 ret = hns_roce_uar_alloc(hr_dev, &context->uar); in hns_roce_alloc_ucontext() 491 ida_free(&hr_dev->uar_ida.ida, (int)context->uar.logic_idx); in hns_roce_alloc_ucontext() 512 ida_free(&hr_dev->uar_ida.ida, (int)context->uar.logic_idx); in hns_roce_dealloc_ucontext()
|
| /linux/drivers/vdpa/mlx5/core/ |
| H A D | resources.c | 259 res->uar = mlx5_get_uars_page(mdev); in mlx5_vdpa_alloc_resources() 260 if (IS_ERR(res->uar)) { in mlx5_vdpa_alloc_resources() 261 err = PTR_ERR(res->uar); in mlx5_vdpa_alloc_resources() 301 mlx5_put_uars_page(mdev, res->uar); in mlx5_vdpa_alloc_resources() 318 mlx5_put_uars_page(mvdev->mdev, res->uar); in mlx5_vdpa_free_resources()
|
| H A D | mlx5_vdpa.h | 45 struct mlx5_uars_page *uar; member
|
| /linux/drivers/net/ethernet/mellanox/mlx5/core/fpga/ |
| H A D | conn.c | 138 mlx5_write64(wqe, conn->fdev->conn_res.uar->map + MLX5_BF_OFFSET); in mlx5_fpga_conn_notify_hw() 362 conn->fdev->conn_res.uar->map, conn->cq.wq.cc); in mlx5_fpga_conn_arm_cq() 464 MLX5_SET(cqc, cqc, uar_page, fdev->conn_res.uar->index); in mlx5_fpga_conn_create_cq() 560 MLX5_SET(qpc, qpc, uar_page, fdev->conn_res.uar->index); in mlx5_fpga_conn_create_qp() 957 fdev->conn_res.uar = mlx5_get_uars_page(fdev->mdev); in mlx5_fpga_conn_device_init() 958 if (IS_ERR(fdev->conn_res.uar)) { in mlx5_fpga_conn_device_init() 959 err = PTR_ERR(fdev->conn_res.uar); in mlx5_fpga_conn_device_init() 964 fdev->conn_res.uar->index); in mlx5_fpga_conn_device_init() 986 mlx5_put_uars_page(fdev->mdev, fdev->conn_res.uar); in mlx5_fpga_conn_device_init() 997 mlx5_put_uars_page(fdev->mdev, fdev->conn_res.uar); in mlx5_fpga_conn_device_cleanup()
|
| H A D | core.h | 58 struct mlx5_uars_page *uar; member
|
| /linux/drivers/net/ethernet/mellanox/mlx5/core/steering/sws/ |
| H A D | dr_send.c | 55 struct mlx5_uars_page *uar; member 309 MLX5_SET(qpc, qpc, uar_page, attr->uar->index); in dr_create_rc_qp() 334 dr_qp->uar = attr->uar; in dr_create_rc_qp() 369 mlx5_write64(ctrl, dr_qp->uar->map + MLX5_BF_OFFSET); in dr_cmd_notify_hw() 1053 struct mlx5_uars_page *uar, in dr_create_cq() argument 1108 MLX5_SET(cqc, cqc, uar_page, uar->index); in dr_create_cq() 1215 dmn->send_ring->cq = dr_create_cq(dmn->mdev, dmn->uar, cq_size); in mlx5dr_send_ring_alloc() 1224 init_attr.uar = dmn->uar; in mlx5dr_send_ring_alloc()
|
| /linux/drivers/vfio/pci/mlx5/ |
| H A D | cmd.c | 1197 MLX5_SET(cqc, cqc, uar_page, tracker->uar->index); in mlx5vf_create_cq() 1209 mlx5_cq_arm(&cq->mcq, MLX5_CQ_DB_REQ_NOT, tracker->uar->map, in mlx5vf_create_cq() 1270 MLX5_SET(qpc, qpc, uar_page, tracker->uar->index); in mlx5vf_create_rc_qp() 1474 mlx5_put_uars_page(mdev, tracker->uar); in _mlx5vf_free_page_tracker_resources() 1530 tracker->uar = mlx5_get_uars_page(mdev); in mlx5vf_start_page_tracker() 1531 if (IS_ERR(tracker->uar)) { in mlx5vf_start_page_tracker() 1532 err = PTR_ERR(tracker->uar); in mlx5vf_start_page_tracker() 1606 mlx5_put_uars_page(mdev, tracker->uar); in mlx5vf_start_page_tracker() 1762 mlx5_cq_arm(&cq->mcq, MLX5_CQ_DB_REQ_NOT, tracker->uar->map, in mlx5vf_tracker_read_and_clear()
|
| H A D | cmd.h | 160 struct mlx5_uars_page *uar; member
|
| /linux/drivers/net/ethernet/mellanox/mlx5/core/ |
| H A D | uar.c | 48 *uarn = MLX5_GET(alloc_uar_out, out, uar); in mlx5_cmd_alloc_uar() 57 MLX5_SET(dealloc_uar_in, in, uar, uarn); in mlx5_cmd_free_uar()
|
| H A D | en.h | 348 struct mlx5_uars_page *uar; member 1075 struct mlx5_uars_page *uar; member
|
| /linux/drivers/infiniband/hw/mlx5/ |
| H A D | cmd.c | 235 *uarn = MLX5_GET(alloc_uar_out, out, uar); in mlx5_cmd_uar_alloc() 244 MLX5_SET(dealloc_uar_in, in, uar, uarn); in mlx5_cmd_uar_dealloc()
|
| /linux/include/linux/mlx4/ |
| H A D | device.h | 722 struct mlx4_uar *uar; member 730 struct mlx4_uar *uar; member 1115 int mlx4_uar_alloc(struct mlx4_dev *dev, struct mlx4_uar *uar); 1116 void mlx4_uar_free(struct mlx4_dev *dev, struct mlx4_uar *uar); 1147 struct mlx4_uar *uar, u64 db_rec, struct mlx4_cq *cq,
|