Lines Matching refs:mdev

71 	switch (MLX5_CAP_GEN(dev->mdev, port_type)) {  in mlx5_ib_port_link_layer()
83 return !dev->mdev->issi; in mlx5_use_mad_ifc()
108 struct mlx5_core_dev *mdev = dev->mdev; in mlx5_query_system_image_guid() local
118 err = mlx5_query_hca_vport_system_image_guid(mdev, &tmp); in mlx5_query_system_image_guid()
132 struct mlx5_core_dev *mdev = dev->mdev; in mlx5_query_max_pkeys() local
140 *max_pkeys = mlx5_to_sw_pkey_sz(MLX5_CAP_GEN(mdev, in mlx5_query_max_pkeys()
160 return mlx5_core_query_vendor_id(dev->mdev, vendor_id); in mlx5_query_vendor_id()
178 err = mlx5_query_hca_vport_node_guid(dev->mdev, &tmp); in mlx5_query_node_guid()
201 return mlx5_core_access_reg(dev->mdev, &in, sizeof(in), node_desc, in mlx5_query_node_desc()
211 struct mlx5_core_dev *mdev = dev->mdev; in mlx5_ib_query_device() local
215 u64 min_page_size = 1ull << MLX5_CAP_GEN(mdev, log_pg_sz); in mlx5_ib_query_device()
234 props->fw_ver = ((u64)fw_rev_maj(dev->mdev) << 32) | in mlx5_ib_query_device()
235 (fw_rev_min(dev->mdev) << 16) | in mlx5_ib_query_device()
236 fw_rev_sub(dev->mdev); in mlx5_ib_query_device()
242 if (MLX5_CAP_GEN(mdev, pkv)) in mlx5_ib_query_device()
244 if (MLX5_CAP_GEN(mdev, qkv)) in mlx5_ib_query_device()
246 if (MLX5_CAP_GEN(mdev, apm)) in mlx5_ib_query_device()
248 if (MLX5_CAP_GEN(mdev, xrc)) in mlx5_ib_query_device()
251 if (MLX5_CAP_GEN(mdev, sho)) { in mlx5_ib_query_device()
260 if (MLX5_CAP_GEN(mdev, block_lb_mc)) in mlx5_ib_query_device()
263 props->vendor_part_id = mdev->pdev->device; in mlx5_ib_query_device()
264 props->hw_ver = mdev->pdev->revision; in mlx5_ib_query_device()
268 props->max_qp = 1 << MLX5_CAP_GEN(mdev, log_max_qp); in mlx5_ib_query_device()
269 props->max_qp_wr = 1 << MLX5_CAP_GEN(mdev, log_max_qp_sz); in mlx5_ib_query_device()
270 max_rq_sg = MLX5_CAP_GEN(mdev, max_wqe_sz_rq) / in mlx5_ib_query_device()
272 max_sq_sg = (MLX5_CAP_GEN(mdev, max_wqe_sz_sq) - in mlx5_ib_query_device()
277 props->max_cq = 1 << MLX5_CAP_GEN(mdev, log_max_cq); in mlx5_ib_query_device()
278 props->max_cqe = (1 << MLX5_CAP_GEN(mdev, log_max_cq_sz)) - 1; in mlx5_ib_query_device()
279 props->max_mr = 1 << MLX5_CAP_GEN(mdev, log_max_mkey); in mlx5_ib_query_device()
280 props->max_pd = 1 << MLX5_CAP_GEN(mdev, log_max_pd); in mlx5_ib_query_device()
281 props->max_qp_rd_atom = 1 << MLX5_CAP_GEN(mdev, log_max_ra_req_qp); in mlx5_ib_query_device()
282 props->max_qp_init_rd_atom = 1 << MLX5_CAP_GEN(mdev, log_max_ra_res_qp); in mlx5_ib_query_device()
283 props->max_srq = 1 << MLX5_CAP_GEN(mdev, log_max_srq); in mlx5_ib_query_device()
284 props->max_srq_wr = (1 << MLX5_CAP_GEN(mdev, log_max_srq_sz)) - 1; in mlx5_ib_query_device()
285 props->local_ca_ack_delay = MLX5_CAP_GEN(mdev, local_ca_ack_delay); in mlx5_ib_query_device()
291 props->max_mcast_grp = 1 << MLX5_CAP_GEN(mdev, log_max_mcg); in mlx5_ib_query_device()
292 props->max_mcast_qp_attach = MLX5_CAP_GEN(mdev, max_qp_mcg); in mlx5_ib_query_device()
298 if (MLX5_CAP_GEN(mdev, pg)) in mlx5_ib_query_device()
406 struct mlx5_core_dev *mdev = dev->mdev; in mlx5_query_hca_port() local
422 err = mlx5_query_hca_vport_context(mdev, 0, port, 0, rep); in mlx5_query_hca_port()
433 props->gid_tbl_len = mlx5_get_gid_table_len(MLX5_CAP_GEN(mdev, gid_table_size)); in mlx5_query_hca_port()
434 props->max_msg_sz = 1 << MLX5_CAP_GEN(mdev, log_max_msg); in mlx5_query_hca_port()
435 props->pkey_tbl_len = mlx5_to_sw_pkey_sz(MLX5_CAP_GEN(mdev, pkey_table_size)); in mlx5_query_hca_port()
441 err = mlx5_query_port_link_width_oper(mdev, &ib_link_width_oper, port); in mlx5_query_hca_port()
449 err = mlx5_query_port_proto_oper(mdev, &props->active_speed, MLX5_PTYS_IB, in mlx5_query_hca_port()
454 mlx5_query_port_max_mtu(mdev, &max_mtu, port); in mlx5_query_hca_port()
458 mlx5_query_port_oper_mtu(mdev, &oper_mtu, port); in mlx5_query_hca_port()
462 err = mlx5_query_port_vl_hw_cap(mdev, &vl_hw_cap, port); in mlx5_query_hca_port()
492 struct mlx5_core_dev *mdev = dev->mdev; in mlx5_ib_query_gid() local
499 return mlx5_query_hca_vport_gid(mdev, 0, port, 0, index, gid); in mlx5_ib_query_gid()
511 struct mlx5_core_dev *mdev = dev->mdev; in mlx5_ib_query_pkey() local
519 return mlx5_query_hca_vport_pkey(mdev, 0, port, 0, index, in mlx5_ib_query_pkey()
545 err = mlx5_core_access_reg(dev->mdev, &in, sizeof(in), &out, in mlx5_ib_modify_device()
572 err = mlx5_set_port_caps(dev->mdev, port, tmp); in mlx5_ib_modify_port()
628 resp.qp_tab_size = 1 << MLX5_CAP_GEN(dev->mdev, log_max_qp); in mlx5_ib_alloc_ucontext()
629 resp.bf_reg_size = 1 << MLX5_CAP_GEN(dev->mdev, log_bf_reg_size); in mlx5_ib_alloc_ucontext()
631 resp.max_sq_desc_sz = MLX5_CAP_GEN(dev->mdev, max_wqe_sz_sq); in mlx5_ib_alloc_ucontext()
632 resp.max_rq_desc_sz = MLX5_CAP_GEN(dev->mdev, max_wqe_sz_rq); in mlx5_ib_alloc_ucontext()
633 resp.max_send_wqebb = 1 << MLX5_CAP_GEN(dev->mdev, log_max_qp_sz); in mlx5_ib_alloc_ucontext()
634 resp.max_recv_wr = 1 << MLX5_CAP_GEN(dev->mdev, log_max_qp_sz); in mlx5_ib_alloc_ucontext()
635 resp.max_srq_recv_wr = 1 << MLX5_CAP_GEN(dev->mdev, log_max_srq_sz); in mlx5_ib_alloc_ucontext()
672 err = mlx5_cmd_alloc_uar(dev->mdev, &uars[i].index); in mlx5_ib_alloc_ucontext()
685 resp.num_ports = MLX5_CAP_GEN(dev->mdev, num_ports); in mlx5_ib_alloc_ucontext()
699 mlx5_cmd_free_uar(dev->mdev, uars[i].index); in mlx5_ib_alloc_ucontext()
722 if (mlx5_cmd_free_uar(dev->mdev, uuari->uars[i].index)) in mlx5_ib_dealloc_ucontext()
736 return (pci_resource_start(dev->mdev->pdev, 0) >> PAGE_SHIFT) + index; in uar_index2pfn()
809 err = mlx5_core_alloc_pd(to_mdev(ibdev)->mdev, &pd->pdn); in mlx5_ib_alloc_pd()
818 mlx5_core_dealloc_pd(to_mdev(ibdev)->mdev, pd->pdn); in mlx5_ib_alloc_pd()
829 struct mlx5_ib_dev *mdev = to_mdev(pd->device); in mlx5_ib_dealloc_pd() local
832 mlx5_core_dealloc_pd(mdev->mdev, mpd->pdn); in mlx5_ib_dealloc_pd()
843 err = mlx5_core_attach_mcg(dev->mdev, gid, ibqp->qp_num); in mlx5_ib_mcg_attach()
856 err = mlx5_core_detach_mcg(dev->mdev, gid, ibqp->qp_num); in mlx5_ib_mcg_detach()
872 dev->mdev->rev_id = dev->mdev->pdev->revision; in init_node_data()
883 return sprintf(buf, "%d\n", dev->mdev->priv.fw_pages); in show_fw_pages()
892 return sprintf(buf, "%d\n", atomic_read(&dev->mdev->priv.reg_pages)); in show_reg_pages()
900 return sprintf(buf, "MT%d\n", dev->mdev->pdev->device); in show_hca()
908 return sprintf(buf, "%d.%d.%d\n", fw_rev_maj(dev->mdev), in show_fw_ver()
909 fw_rev_min(dev->mdev), fw_rev_sub(dev->mdev)); in show_fw_ver()
917 return sprintf(buf, "%x\n", dev->mdev->rev_id); in show_rev()
926 dev->mdev->board_id); in show_board()
1010 for (port = 1; port <= MLX5_CAP_GEN(dev->mdev, num_ports); port++) in get_ext_port_caps()
1036 for (port = 1; port <= MLX5_CAP_GEN(dev->mdev, num_ports); port++) { in get_port_caps()
1043 dev->mdev->port_caps[port - 1].pkey_table_len = in get_port_caps()
1045 dev->mdev->port_caps[port - 1].gid_table_len = in get_port_caps()
1325 static void *mlx5_ib_add(struct mlx5_core_dev *mdev) in mlx5_ib_add() argument
1332 if (MLX5_CAP_GEN(mdev, port_type) == MLX5_CAP_PORT_TYPE_ETH) in mlx5_ib_add()
1341 dev->mdev = mdev; in mlx5_ib_add()
1356 dev->num_ports = MLX5_CAP_GEN(mdev, num_ports); in mlx5_ib_add()
1359 dev->mdev->priv.eq_table.num_comp_vectors; in mlx5_ib_add()
1360 dev->ib_dev.dma_device = &mdev->pdev->dev; in mlx5_ib_add()
1434 if (MLX5_CAP_GEN(mdev, xrc)) { in mlx5_ib_add()
1493 static void mlx5_ib_remove(struct mlx5_core_dev *mdev, void *context) in mlx5_ib_remove() argument