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);
 }
 
_______________________________________________
svn-src-stable-10@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-stable-10
To unsubscribe, send any mail to "svn-src-stable-10-unsubscr...@freebsd.org"

Reply via email to