1c2bf5433SOphir Munk /* SPDX-License-Identifier: BSD-3-Clause 2c2bf5433SOphir Munk * Copyright 2020 Mellanox Technologies, Ltd 3c2bf5433SOphir Munk */ 4c2bf5433SOphir Munk 5c2bf5433SOphir Munk #include <stdio.h> 6c2bf5433SOphir Munk #include <time.h> 7c2bf5433SOphir Munk 8c2bf5433SOphir Munk #include <rte_eal.h> 9*df96fd0dSBruce Richardson #include <ethdev_driver.h> 10c2bf5433SOphir Munk #include <rte_string_fns.h> 11c2bf5433SOphir Munk 12c2bf5433SOphir Munk #include <mlx5_common_mp.h> 13c2bf5433SOphir Munk #include <mlx5_common_mr.h> 14c2bf5433SOphir Munk #include <mlx5_malloc.h> 15c2bf5433SOphir Munk 16c2bf5433SOphir Munk #include "mlx5.h" 17c2bf5433SOphir Munk #include "mlx5_rxtx.h" 18c2bf5433SOphir Munk #include "mlx5_utils.h" 19c2bf5433SOphir Munk 20c2bf5433SOphir Munk /** 21c2bf5433SOphir Munk * Broadcast request of starting data-path to secondary processes. The request 22c2bf5433SOphir Munk * is synchronous. 23c2bf5433SOphir Munk * 24c2bf5433SOphir Munk * @param[in] dev 25c2bf5433SOphir Munk * Pointer to Ethernet structure. 26c2bf5433SOphir Munk */ 27c2bf5433SOphir Munk void mlx5_mp_os_req_start_rxtx(struct rte_eth_dev * dev)28c2bf5433SOphir Munkmlx5_mp_os_req_start_rxtx(struct rte_eth_dev *dev) 29c2bf5433SOphir Munk { 30c2bf5433SOphir Munk RTE_SET_USED(dev); 31c2bf5433SOphir Munk } 32c2bf5433SOphir Munk 33c2bf5433SOphir Munk /** 34c2bf5433SOphir Munk * Broadcast request of stopping data-path to secondary processes. The request 35c2bf5433SOphir Munk * is synchronous. 36c2bf5433SOphir Munk * 37c2bf5433SOphir Munk * @param[in] dev 38c2bf5433SOphir Munk * Pointer to Ethernet structure. 39c2bf5433SOphir Munk */ 40c2bf5433SOphir Munk void mlx5_mp_os_req_stop_rxtx(struct rte_eth_dev * dev)41c2bf5433SOphir Munkmlx5_mp_os_req_stop_rxtx(struct rte_eth_dev *dev) 42c2bf5433SOphir Munk { 43c2bf5433SOphir Munk RTE_SET_USED(dev); 44c2bf5433SOphir Munk } 45c2bf5433SOphir Munk 46c2bf5433SOphir Munk /** 47c2bf5433SOphir Munk * Request Verbs Rx/Tx queue stop or start to the primary process. 48c2bf5433SOphir Munk * 49c2bf5433SOphir Munk * @param[in] dev 50c2bf5433SOphir Munk * Pointer to Ethernet structure. 51c2bf5433SOphir Munk * @param queue_id 52c2bf5433SOphir Munk * Queue ID to control. 53c2bf5433SOphir Munk * @param req_type 54c2bf5433SOphir Munk * request type 55c2bf5433SOphir Munk * MLX5_MP_REQ_QUEUE_RX_START - start Rx queue 56c2bf5433SOphir Munk * MLX5_MP_REQ_QUEUE_TX_START - stop Tx queue 57c2bf5433SOphir Munk * MLX5_MP_REQ_QUEUE_RX_STOP - stop Rx queue 58c2bf5433SOphir Munk * MLX5_MP_REQ_QUEUE_TX_STOP - stop Tx queue 59c2bf5433SOphir Munk * @return 60c2bf5433SOphir Munk * 0 on success, a negative errno value otherwise and 61c2bf5433SOphir Munk * rte_errno is set. 62c2bf5433SOphir Munk */ 63c2bf5433SOphir Munk int mlx5_mp_os_req_queue_control(struct rte_eth_dev * dev,uint16_t queue_id,enum mlx5_mp_req_type req_type)64c2bf5433SOphir Munkmlx5_mp_os_req_queue_control(struct rte_eth_dev *dev, uint16_t queue_id, 65c2bf5433SOphir Munk enum mlx5_mp_req_type req_type) 66c2bf5433SOphir Munk { 67c2bf5433SOphir Munk RTE_SET_USED(dev); 68c2bf5433SOphir Munk RTE_SET_USED(queue_id); 69c2bf5433SOphir Munk RTE_SET_USED(req_type); 70c2bf5433SOphir Munk return -ENOTSUP; 71c2bf5433SOphir Munk } 72