Home
last modified time | relevance | path

Searched refs:uar (Results 1 – 25 of 33) sorted by relevance

12

/linux/drivers/net/ethernet/mellanox/mlx4/
H A Dpd.c145 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 Dcq.c343 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 Den_tx.c126 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 Dmthca_uar.c38 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 Dmthca_memfree.h165 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 Dmthca_memfree.c439 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 Dmthca_srq.c54 __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 Dmthca_provider.h66 struct mthca_uar uar; member
H A Dmthca_dev.h458 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 Dpvrdma_doorbell.c83 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 Dpvrdma.h90 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 Dpvrdma_cq.c204 cq->uar = &context->uar; in pvrdma_create_cq()
/linux/drivers/infiniband/hw/hns/
H A Dhns_roce_pd.c84 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 Dhns_roce_main.c407 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 Dresources.c259 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 Dmlx5_vdpa.h45 struct mlx5_uars_page *uar; member
/linux/drivers/net/ethernet/mellanox/mlx5/core/fpga/
H A Dconn.c138 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 Dcore.h58 struct mlx5_uars_page *uar; member
/linux/drivers/net/ethernet/mellanox/mlx5/core/steering/sws/
H A Ddr_send.c55 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 Dcmd.c1197 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 Dcmd.h160 struct mlx5_uars_page *uar; member
/linux/drivers/net/ethernet/mellanox/mlx5/core/
H A Duar.c48 *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 Den.h348 struct mlx5_uars_page *uar; member
1075 struct mlx5_uars_page *uar; member
/linux/drivers/infiniband/hw/mlx5/
H A Dcmd.c235 *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 Ddevice.h722 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,

12