Home
last modified time | relevance | path

Searched refs:bfreg (Results 1 – 14 of 14) sorted by relevance

/linux/drivers/net/ethernet/mellanox/mlx5/core/
H A Duar.c204 static int alloc_bfreg(struct mlx5_core_dev *mdev, struct mlx5_sq_bfreg *bfreg, in alloc_bfreg() argument
248 bfreg->map = up->map + map_offset(mdev, dbi); in alloc_bfreg()
249 bfreg->up = up; in alloc_bfreg()
250 bfreg->wc = map_wc; in alloc_bfreg()
251 bfreg->index = up->index + dbi / MLX5_BFREGS_PER_UAR; in alloc_bfreg()
257 int mlx5_alloc_bfreg(struct mlx5_core_dev *mdev, struct mlx5_sq_bfreg *bfreg, in mlx5_alloc_bfreg() argument
262 err = alloc_bfreg(mdev, bfreg, map_wc, fast_path); in mlx5_alloc_bfreg()
267 return alloc_bfreg(mdev, bfreg, false, fast_path); in mlx5_alloc_bfreg()
275 struct mlx5_sq_bfreg *bfreg) in addr_to_dbi_in_syspage() argument
283 uar_idx = (bfreg->map - up->map) >> MLX5_ADAPTER_PAGE_SHIFT; in addr_to_dbi_in_syspage()
[all …]
H A Dwc.c46 struct mlx5_sq_bfreg bfreg; member
103 MLX5_SET(cqc, cqc, uar_page, mdev->priv.bfreg.up->index); in create_wc_cq()
125 MLX5_SET(cqc, cqc, uar_page, mdev->priv.bfreg.up->index); in mlx5_wc_create_cq()
185 MLX5_SET(wq, wq, uar_page, sq->bfreg.index); in create_wc_sq()
275 : "r"(mmio_wqe), "r"(sq->bfreg.map + offset) in mlx5_iowrite64_copy()
281 __iowrite64_copy(sq->bfreg.map + offset, mmio_wqe, in mlx5_iowrite64_copy()
373 err = mlx5_alloc_bfreg(mdev, &sq->bfreg, true, false); in mlx5_core_test_wc()
401 mlx5_free_bfreg(mdev, &sq->bfreg); in mlx5_core_test_wc()
H A Deq.c310 MLX5_SET(eqc, eqc, uar_page, priv->bfreg.up->index); in create_map_eq()
323 eq->doorbell = priv->bfreg.up->map + MLX5_EQ_DOORBELL_OFFSET; in create_map_eq()
H A Dmain.c1320 err = mlx5_alloc_bfreg(dev, &dev->priv.bfreg, false, false); in mlx5_load()
1425 mlx5_free_bfreg(dev, &dev->priv.bfreg); in mlx5_load()
1450 mlx5_free_bfreg(dev, &dev->priv.bfreg); in mlx5_unload()
H A Den_main.c1495 sq->uar_map = c->bfreg->map; in mlx5e_alloc_xdpsq()
1580 sq->uar_map = c->bfreg->map; in mlx5e_alloc_icosq()
1665 sq->uar_map = c->bfreg->map; in mlx5e_alloc_txqsq()
1845 csp.uar_page = c->bfreg->index; in mlx5e_open_txqsq()
2003 csp.uar_page = c->bfreg->index; in mlx5e_open_icosq()
2066 csp.uar_page = c->bfreg->index; in mlx5e_open_xdpsq()
2757 c->bfreg = &c->mdev->priv.bfreg; in mlx5e_channel_pick_doorbell()
2762 c->bfreg = hw_objs->bfregs + c->vec_ix % hw_objs->num_bfregs; in mlx5e_channel_pick_doorbell()
3611 mdev->priv.bfreg.up, param, cq); in mlx5e_alloc_drop_cq()
H A Den.h796 struct mlx5_sq_bfreg *bfreg; member
/linux/drivers/net/ethernet/mellanox/mlx5/core/lib/
H A Daso.c103 MLX5_SET(cqc, cqc, uar_page, mdev->priv.bfreg.up->index); in create_aso_cq()
132 MLX5_SET(cqc, cqc_data, uar_page, mdev->priv.bfreg.up->index); in mlx5_aso_create_cq()
166 sq->uar_map = mdev->priv.bfreg.map; in mlx5_aso_alloc_sq()
206 MLX5_SET(wq, wq, uar_page, mdev->priv.bfreg.index); in create_aso_sq()
/linux/drivers/net/ethernet/mellanox/mlx5/core/en/
H A Dptp.c346 sq->uar_map = c->bfreg->map; in mlx5e_ptp_alloc_txqsq()
484 csp.uar_page = c->bfreg->index; in mlx5e_ptp_open_txqsq()
576 ccp.uar = c->bfreg->up; in mlx5e_ptp_open_tx_cqs()
626 ccp.uar = c->bfreg->up; in mlx5e_ptp_open_rx_cq()
900 c->bfreg = &mdev->priv.bfreg; in mlx5e_ptp_open()
/linux/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/
H A Dsend.c693 sq->uar_map = mdev->priv.bfreg.map; in hws_send_ring_alloc_sq()
767 MLX5_SET(wq, wq, uar_page, mdev->priv.bfreg.index); in hws_send_ring_create_sq()
936 MLX5_SET(cqc, cqc, uar_page, mdev->priv.bfreg.up->index); in hws_send_ring_create_cq()
959 MLX5_SET(cqc, cqc_data, uar_page, mdev->priv.bfreg.up->index); in hws_send_ring_open_cq()
/linux/include/linux/mlx5/
H A Ddriver.h615 struct mlx5_sq_bfreg bfreg; member
1099 int mlx5_alloc_bfreg(struct mlx5_core_dev *mdev, struct mlx5_sq_bfreg *bfreg,
1101 void mlx5_free_bfreg(struct mlx5_core_dev *mdev, struct mlx5_sq_bfreg *bfreg);
/linux/drivers/infiniband/hw/mlx5/
H A Dcq.c651 void __iomem *uar_page = mdev->priv.bfreg.up->map; in mlx5_ib_arm_cq()
926 *index = dev->mdev->priv.bfreg.up->index; in create_cq_kernel()
H A Dwr.c1044 mlx5_write64((__be32 *)ctrl, bf->bfreg->map + bf->offset); in mlx5r_ring_db()
H A Dqp.c1109 qp->bf.bfreg = &dev->fp_bfreg; in _create_kernel_qp()
1111 qp->bf.bfreg = &dev->bfreg; in _create_kernel_qp()
1117 uar_index = qp->bf.bfreg->index; in _create_kernel_qp()
H A Dmain.c4843 err = mlx5_alloc_bfreg(dev->mdev, &dev->bfreg, false, false); in mlx5_ib_stage_bfrag_init()
4849 mlx5_free_bfreg(dev->mdev, &dev->bfreg); in mlx5_ib_stage_bfrag_init()
4857 mlx5_free_bfreg(dev->mdev, &dev->bfreg); in mlx5_ib_stage_bfrag_cleanup()