net/hns3: fix default MAC address from firmware
[dpdk.git] / drivers / net / mlx5 / mlx5_trigger.c
index ca25ad9..549af35 100644 (file)
@@ -59,7 +59,9 @@ mlx5_txq_start(struct rte_eth_dev *dev)
                } else {
                        txq_alloc_elts(txq_ctrl);
                        txq_ctrl->obj = mlx5_txq_obj_new
-                               (dev, i, MLX5_TXQ_OBJ_TYPE_IBV);
+                               (dev, i, priv->txpp_en ?
+                               MLX5_TXQ_OBJ_TYPE_DEVX_SQ :
+                               MLX5_TXQ_OBJ_TYPE_IBV);
                }
                if (!txq_ctrl->obj) {
                        rte_errno = ENOMEM;
@@ -151,7 +153,8 @@ mlx5_rxq_start(struct rte_eth_dev *dev)
                if (!rxq_ctrl->obj)
                        goto error;
                if (obj_type == MLX5_RXQ_OBJ_TYPE_IBV)
-                       rxq_ctrl->wqn = rxq_ctrl->obj->wq->wq_num;
+                       rxq_ctrl->wqn =
+                               ((struct ibv_wq *)(rxq_ctrl->obj->wq))->wq_num;
                else if (obj_type == MLX5_RXQ_OBJ_TYPE_DEVX_RQ)
                        rxq_ctrl->wqn = rxq_ctrl->obj->rq->id;
        }
@@ -327,8 +330,12 @@ mlx5_dev_start(struct rte_eth_dev *dev)
                        dev->data->port_id);
                goto error;
        }
-       /* Set a mask and offset of dynamic metadata flows into Rx queues*/
+       /* Set a mask and offset of dynamic metadata flows into Rx queues*/
        mlx5_flow_rxq_dynf_metadata_set(dev);
+       /* Set flags and context to convert Rx timestamps. */
+       mlx5_rxq_timestamp_set(dev);
+       /* Set a mask and offset of scheduling on timestamp into Tx queues. */
+       mlx5_txq_dynf_timestamp_set(dev);
        /*
         * In non-cached mode, it only needs to start the default mreg copy
         * action and no flow created by application exists anymore.
@@ -344,7 +351,7 @@ mlx5_dev_start(struct rte_eth_dev *dev)
        dev->tx_pkt_burst = mlx5_select_tx_function(dev);
        dev->rx_pkt_burst = mlx5_select_rx_function(dev);
        /* Enable datapath on secondary process. */
-       mlx5_mp_req_start_rxtx(dev);
+       mlx5_mp_os_req_start_rxtx(dev);
        if (priv->sh->intr_handle.fd >= 0) {
                priv->sh->port[priv->dev_port - 1].ih_port_id =
                                        (uint32_t)dev->data->port_id;
@@ -390,7 +397,7 @@ mlx5_dev_stop(struct rte_eth_dev *dev)
        dev->tx_pkt_burst = removed_tx_burst;
        rte_wmb();
        /* Disable datapath on secondary process. */
-       mlx5_mp_req_stop_rxtx(dev);
+       mlx5_mp_os_req_stop_rxtx(dev);
        usleep(1000 * priv->rxqs_n);
        DRV_LOG(DEBUG, "port %u stopping device", dev->data->port_id);
        mlx5_flow_stop_default(dev);