svn commit: r324523 - stable/10/sys/dev/mlx5/mlx5_en

Hans Petter Selasky hselasky at FreeBSD.org
Wed Oct 11 10:04:19 UTC 2017


Author: hselasky
Date: Wed Oct 11 10:04:17 2017
New Revision: 324523
URL: https://svnweb.freebsd.org/changeset/base/324523

Log:
  MFC r324202:
  Make sure the doorbell lock is valid for the i386 version
  of the mlx5en(4) driver.
  
  Tested by:		gallatin @
  Sponsored by:		Mellanox Technologies

Modified:
  stable/10/sys/dev/mlx5/mlx5_en/en.h
  stable/10/sys/dev/mlx5/mlx5_en/mlx5_en_main.c
  stable/10/sys/dev/mlx5/mlx5_en/mlx5_en_rx.c
  stable/10/sys/dev/mlx5/mlx5_en/mlx5_en_tx.c
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/sys/dev/mlx5/mlx5_en/en.h
==============================================================================
--- stable/10/sys/dev/mlx5/mlx5_en/en.h	Wed Oct 11 10:00:58 2017	(r324522)
+++ stable/10/sys/dev/mlx5/mlx5_en/en.h	Wed Oct 11 10:04:17 2017	(r324523)
@@ -810,12 +810,12 @@ mlx5e_tx_notify_hw(struct mlx5e_sq *sq, u32 *wqe, int 
 }
 
 static inline void
-mlx5e_cq_arm(struct mlx5e_cq *cq)
+mlx5e_cq_arm(struct mlx5e_cq *cq, spinlock_t *dblock)
 {
 	struct mlx5_core_cq *mcq;
 
 	mcq = &cq->mcq;
-	mlx5_cq_arm(mcq, MLX5_CQ_DB_REQ_NOT, mcq->uar->map, NULL, cq->wq.cc);
+	mlx5_cq_arm(mcq, MLX5_CQ_DB_REQ_NOT, mcq->uar->map, dblock, cq->wq.cc);
 }
 
 extern const struct ethtool_ops mlx5e_ethtool_ops;

Modified: stable/10/sys/dev/mlx5/mlx5_en/mlx5_en_main.c
==============================================================================
--- stable/10/sys/dev/mlx5/mlx5_en/mlx5_en_main.c	Wed Oct 11 10:00:58 2017	(r324522)
+++ stable/10/sys/dev/mlx5/mlx5_en/mlx5_en_main.c	Wed Oct 11 10:04:17 2017	(r324523)
@@ -1415,7 +1415,7 @@ mlx5e_enable_cq(struct mlx5e_cq *cq, struct mlx5e_cq_p
 	if (err)
 		return (err);
 
-	mlx5e_cq_arm(cq);
+	mlx5e_cq_arm(cq, MLX5_GET_DOORBELL_LOCK(&cq->priv->doorbell_lock));
 
 	return (0);
 }

Modified: stable/10/sys/dev/mlx5/mlx5_en/mlx5_en_rx.c
==============================================================================
--- stable/10/sys/dev/mlx5/mlx5_en/mlx5_en_rx.c	Wed Oct 11 10:00:58 2017	(r324522)
+++ stable/10/sys/dev/mlx5/mlx5_en/mlx5_en_rx.c	Wed Oct 11 10:04:17 2017	(r324523)
@@ -445,7 +445,7 @@ mlx5e_rx_cq_comp(struct mlx5_core_cq *mcq)
 		mlx5e_post_rx_wqes(rq);
 	}
 	mlx5e_post_rx_wqes(rq);
-	mlx5e_cq_arm(&rq->cq);
+	mlx5e_cq_arm(&rq->cq, MLX5_GET_DOORBELL_LOCK(&rq->channel->priv->doorbell_lock));
 #ifdef HAVE_TURBO_LRO
 	tcp_tlro_flush(&rq->lro, 1);
 #endif

Modified: stable/10/sys/dev/mlx5/mlx5_en/mlx5_en_tx.c
==============================================================================
--- stable/10/sys/dev/mlx5/mlx5_en/mlx5_en_tx.c	Wed Oct 11 10:00:58 2017	(r324522)
+++ stable/10/sys/dev/mlx5/mlx5_en/mlx5_en_tx.c	Wed Oct 11 10:04:17 2017	(r324523)
@@ -574,7 +574,7 @@ mlx5e_tx_cq_comp(struct mlx5_core_cq *mcq)
 
 	mtx_lock(&sq->comp_lock);
 	mlx5e_poll_tx_cq(sq, MLX5E_BUDGET_MAX);
-	mlx5e_cq_arm(&sq->cq);
+	mlx5e_cq_arm(&sq->cq, MLX5_GET_DOORBELL_LOCK(&sq->priv->doorbell_lock));
 	mtx_unlock(&sq->comp_lock);
 }
 


More information about the svn-src-stable mailing list