| /linux/drivers/net/ethernet/mellanox/mlx5/core/ |
| H A D | wc.c | 49 static int mlx5_wc_create_cqwq(struct mlx5_core_dev *mdev, void *cqc, in mlx5_wc_create_cqwq() argument 57 err = mlx5_cqwq_create(mdev, ¶m, cqc, &cq->wq, &cq->wq_ctrl); in mlx5_wc_create_cqwq() 82 void *in, *cqc; in create_wc_cq() local 94 cqc = MLX5_ADDR_OF(create_cq_in, in, cq_context); in create_wc_cq() 96 memcpy(cqc, cqc_data, MLX5_ST_SZ_BYTES(cqc)); in create_wc_cq() 101 MLX5_SET(cqc, cqc, cq_period_mode, MLX5_CQ_PERIOD_MODE_START_FROM_EQE); in create_wc_cq() 102 MLX5_SET(cqc, cqc, c_eqn_or_apu_element, eqn); in create_wc_cq() 103 MLX5_SET(cqc, cqc, uar_page, mdev->priv.bfreg.up->index); in create_wc_cq() 104 MLX5_SET(cqc, cqc, log_page_size, cq->wq_ctrl.buf.page_shift - in create_wc_cq() 106 MLX5_SET64(cqc, cqc, dbr_addr, cq->wq_ctrl.db.dma); in create_wc_cq() [all …]
|
| H A D | cq.c | 111 int eqn = MLX5_GET(cqc, MLX5_ADDR_OF(create_cq_in, in, cq_context), in mlx5_create_cq() 243 void *cqc; in mlx5_core_modify_cq_moderation() local 246 cqc = MLX5_ADDR_OF(modify_cq_in, in, cq_context); in mlx5_core_modify_cq_moderation() 247 MLX5_SET(cqc, cqc, cq_period, cq_period); in mlx5_core_modify_cq_moderation() 248 MLX5_SET(cqc, cqc, cq_max_count, cq_max_count); in mlx5_core_modify_cq_moderation()
|
| H A D | wq.c | 160 void *cqc, struct mlx5_cqwq *wq, in mlx5_cqwq_create() argument 164 u8 log_wq_stride = MLX5_GET(cqc, cqc, cqe_sz) == CQE_STRIDE_64 ? 6 : 7; in mlx5_cqwq_create() 165 u8 log_wq_sz = MLX5_GET(cqc, cqc, log_cq_size); in mlx5_cqwq_create()
|
| H A D | en_main.c | 2205 err = mlx5_cqwq_create(mdev, ¶m->wq, param->cqc, &cq->wq, in mlx5e_alloc_cq_common() 2265 void *cqc; in mlx5e_create_cq() local 2280 cqc = MLX5_ADDR_OF(create_cq_in, in, cq_context); in mlx5e_create_cq() 2282 memcpy(cqc, param->cqc, sizeof(param->cqc)); in mlx5e_create_cq() 2287 MLX5_SET(cqc, cqc, cq_period_mode, mlx5e_cq_period_mode(param->cq_period_mode)); in mlx5e_create_cq() 2289 MLX5_SET(cqc, cqc, c_eqn_or_apu_element, eqn); in mlx5e_create_cq() 2290 MLX5_SET(cqc, cqc, uar_page, cq->uar->index); in mlx5e_create_cq() 2291 MLX5_SET(cqc, cqc, log_page_size, cq->wq_ctrl.buf.page_shift - in mlx5e_create_cq() 2293 MLX5_SET64(cqc, cqc, dbr_addr, cq->wq_ctrl.db.dma); in mlx5e_create_cq() 2348 void *cqc; in mlx5e_modify_cq_period_mode() local [all …]
|
| /linux/drivers/net/ethernet/mellanox/mlx5/core/lib/ |
| H A D | aso.c | 80 void *in, *cqc; in create_aso_cq() local 94 cqc = MLX5_ADDR_OF(create_cq_in, in, cq_context); in create_aso_cq() 96 memcpy(cqc, cqc_data, MLX5_ST_SZ_BYTES(cqc)); in create_aso_cq() 101 MLX5_SET(cqc, cqc, cq_period_mode, MLX5_CQ_PERIOD_MODE_START_FROM_EQE); in create_aso_cq() 102 MLX5_SET(cqc, cqc, c_eqn_or_apu_element, eqn); in create_aso_cq() 103 MLX5_SET(cqc, cqc, uar_page, mdev->priv.bfreg.up->index); in create_aso_cq() 104 MLX5_SET(cqc, cqc, log_page_size, cq->wq_ctrl.buf.page_shift - in create_aso_cq() 106 MLX5_SET64(cqc, cqc, dbr_addr, cq->wq_ctrl.db.dma); in create_aso_cq() 127 cqc_data = kvzalloc(MLX5_ST_SZ_BYTES(cqc), GFP_KERNEL); in mlx5_aso_create_cq() 131 MLX5_SET(cqc, cqc_data, log_cq_size, 1); in mlx5_aso_create_cq() [all …]
|
| /linux/drivers/net/ethernet/mellanox/mlx5/core/en/ |
| H A D | params.c | 847 void *cqc = param->cqc; in mlx5e_build_common_cq_param() local 849 MLX5_SET(cqc, cqc, uar_page, mdev->priv.bfreg.up->index); in mlx5e_build_common_cq_param() 851 MLX5_SET(cqc, cqc, cqe_sz, CQE_STRIDE_128_PAD); in mlx5e_build_common_cq_param() 878 void *cqc = param->cqc; in mlx5e_build_rx_cq_param() local 897 MLX5_SET(cqc, cqc, log_cq_size, log_cq_size); in mlx5e_build_rx_cq_param() 899 MLX5_SET(cqc, cqc, mini_cqe_res_format, hw_stridx ? in mlx5e_build_rx_cq_param() 901 MLX5_SET(cqc, cqc, cqe_compression_layout, in mlx5e_build_rx_cq_param() 905 MLX5_SET(cqc, cqc, cqe_comp_en, 1); in mlx5e_build_rx_cq_param() 1038 void *cqc = param->cqc; in mlx5e_build_tx_cq_param() local 1040 MLX5_SET(cqc, cqc, log_cq_size, params->log_sq_size); in mlx5e_build_tx_cq_param() [all …]
|
| H A D | health.c | 24 void *cqc; in mlx5e_health_cq_diag_fmsg() local 27 cqc = MLX5_ADDR_OF(query_cq_out, out, cq_context); in mlx5e_health_cq_diag_fmsg() 28 hw_status = MLX5_GET(cqc, cqc, status); in mlx5e_health_cq_diag_fmsg()
|
| /linux/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/ |
| H A D | send.c | 941 void *in, *cqc; in hws_send_ring_create_cq() local 955 cqc = MLX5_ADDR_OF(create_cq_in, in, cq_context); in hws_send_ring_create_cq() 956 memcpy(cqc, cqc_data, MLX5_ST_SZ_BYTES(cqc)); in hws_send_ring_create_cq() 960 MLX5_SET(cqc, cqc, c_eqn_or_apu_element, eqn); in hws_send_ring_create_cq() 961 MLX5_SET(cqc, cqc, uar_page, mdev->priv.bfreg.up->index); in hws_send_ring_create_cq() 962 MLX5_SET(cqc, cqc, log_page_size, cq->wq_ctrl.buf.page_shift - MLX5_ADAPTER_PAGE_SHIFT); in hws_send_ring_create_cq() 963 MLX5_SET64(cqc, cqc, dbr_addr, cq->wq_ctrl.db.dma); in hws_send_ring_create_cq() 980 cqc_data = kvzalloc(MLX5_ST_SZ_BYTES(cqc), GFP_KERNEL); in hws_send_ring_open_cq() 984 MLX5_SET(cqc, cqc_data, uar_page, mdev->priv.bfreg.up->index); in hws_send_ring_open_cq() 985 MLX5_SET(cqc, cqc_data, log_cq_size, ilog2(queue->num_entries)); in hws_send_ring_open_cq()
|
| /linux/drivers/net/ethernet/mellanox/mlx5/core/fpga/ |
| H A D | conn.c | 415 u32 temp_cqc[MLX5_ST_SZ_DW(cqc)] = {0}; in mlx5_fpga_conn_create_cq() 420 void *cqc, *in; in mlx5_fpga_conn_create_cq() local 432 MLX5_SET(cqc, temp_cqc, log_cq_size, ilog2(cq_size)); in mlx5_fpga_conn_create_cq() 461 cqc = MLX5_ADDR_OF(create_cq_in, in, cq_context); in mlx5_fpga_conn_create_cq() 462 MLX5_SET(cqc, cqc, log_cq_size, ilog2(cq_size)); in mlx5_fpga_conn_create_cq() 463 MLX5_SET(cqc, cqc, c_eqn_or_apu_element, eqn); in mlx5_fpga_conn_create_cq() 464 MLX5_SET(cqc, cqc, uar_page, fdev->conn_res.uar->index); in mlx5_fpga_conn_create_cq() 465 MLX5_SET(cqc, cqc, log_page_size, conn->cq.wq_ctrl.buf.page_shift - in mlx5_fpga_conn_create_cq() 467 MLX5_SET64(cqc, cqc, dbr_addr, conn->cq.wq_ctrl.db.dma); in mlx5_fpga_conn_create_cq()
|
| /linux/drivers/net/ethernet/mellanox/mlx5/core/steering/sws/ |
| H A D | dr_send.c | 1056 u32 temp_cqc[MLX5_ST_SZ_DW(cqc)] = {}; in dr_create_cq() 1062 void *cqc, *in; in dr_create_cq() local 1071 MLX5_SET(cqc, temp_cqc, log_cq_size, ilog2(ncqe)); in dr_create_cq() 1105 cqc = MLX5_ADDR_OF(create_cq_in, in, cq_context); in dr_create_cq() 1106 MLX5_SET(cqc, cqc, log_cq_size, ilog2(ncqe)); in dr_create_cq() 1107 MLX5_SET(cqc, cqc, c_eqn_or_apu_element, eqn); in dr_create_cq() 1108 MLX5_SET(cqc, cqc, uar_page, uar->index); in dr_create_cq() 1109 MLX5_SET(cqc, cqc, log_page_size, cq->wq_ctrl.buf.page_shift - in dr_create_cq() 1111 MLX5_SET64(cqc, cqc, dbr_addr, cq->wq_ctrl.db.dma); in dr_create_cq()
|
| /linux/include/linux/mlx5/ |
| H A D | cq.h | 132 #define MLX5_MAX_CQ_PERIOD (BIT(__mlx5_bit_sz(cqc, cq_period)) - 1) 133 #define MLX5_MAX_CQ_COUNT (BIT(__mlx5_bit_sz(cqc, cq_max_count)) - 1)
|
| /linux/drivers/vdpa/mlx5/net/ |
| H A D | mlx5_vnet.c | 564 void *cqc; in cq_create() local 597 cqc = MLX5_ADDR_OF(create_cq_in, in, cq_context); in cq_create() 598 MLX5_SET(cqc, cqc, log_page_size, vcq->buf.frag_buf.page_shift - MLX5_ADAPTER_PAGE_SHIFT); in cq_create() 607 cqc = MLX5_ADDR_OF(create_cq_in, in, cq_context); in cq_create() 608 MLX5_SET(cqc, cqc, log_cq_size, ilog2(num_ent)); in cq_create() 609 MLX5_SET(cqc, cqc, uar_page, ndev->mvdev.res.uar->index); in cq_create() 610 MLX5_SET(cqc, cqc, c_eqn_or_apu_element, eqn); in cq_create() 611 MLX5_SET64(cqc, cqc, dbr_addr, vcq->db.dma); in cq_create()
|
| /linux/drivers/net/ethernet/mellanox/mlx4/ |
| H A D | resource_tracker.c | 3070 static int cq_get_mtt_addr(struct mlx4_cq_context *cqc) in cq_get_mtt_addr() argument 3072 return be32_to_cpu(cqc->mtt_base_addr_l) & 0xfffffff8; in cq_get_mtt_addr() 3075 static int cq_get_mtt_size(struct mlx4_cq_context *cqc) in cq_get_mtt_size() argument 3077 int log_cq_size = (be32_to_cpu(cqc->logsize_usrpage) >> 24) & 0x1f; in cq_get_mtt_size() 3078 int page_shift = (cqc->log_page_size & 0x3f) + 12; in cq_get_mtt_size() 3435 struct mlx4_cq_context *cqc = inbox->buf; in mlx4_SW2HW_CQ_wrapper() local 3436 int mtt_base = cq_get_mtt_addr(cqc) / dev->caps.mtt_entry_sz; in mlx4_SW2HW_CQ_wrapper() 3446 err = check_mtt_range(dev, slave, mtt_base, cq_get_mtt_size(cqc), mtt); in mlx4_SW2HW_CQ_wrapper() 3524 struct mlx4_cq_context *cqc = inbox->buf; in handle_resize() local 3525 int mtt_base = cq_get_mtt_addr(cqc) / dev->caps.mtt_entry_sz; in handle_resize() [all …]
|