Page MenuHomeFreeBSD

D59680.id186733.diff
No OneTemporary

D59680.id186733.diff

diff --git a/sys/dev/mlx4/mlx4_en/en.h b/sys/dev/mlx4/mlx4_en/en.h
--- a/sys/dev/mlx4/mlx4_en/en.h
+++ b/sys/dev/mlx4/mlx4_en/en.h
@@ -836,7 +836,7 @@
int mlx4_en_process_rx_cq(if_t dev,
struct mlx4_en_cq *cq,
int budget);
-void mlx4_en_poll_tx_cq(unsigned long data);
+void mlx4_en_poll_tx_cq(struct timer_list *t);
void mlx4_en_fill_qp_context(struct mlx4_en_priv *priv, int size, int stride,
int is_tx, int rss, int qpn, int cqn, int user_prio,
struct mlx4_qp_context *context);
diff --git a/sys/dev/mlx4/mlx4_en/mlx4_en_cq.c b/sys/dev/mlx4/mlx4_en/mlx4_en_cq.c
--- a/sys/dev/mlx4/mlx4_en/mlx4_en_cq.c
+++ b/sys/dev/mlx4/mlx4_en/mlx4_en_cq.c
@@ -164,9 +164,7 @@
cq->mcq.event = mlx4_en_cq_event;
if (cq->is_tx) {
- init_timer(&cq->timer);
- cq->timer.function = mlx4_en_poll_tx_cq;
- cq->timer.data = (unsigned long) cq;
+ timer_setup(&cq->timer, mlx4_en_poll_tx_cq, 0);
}
diff --git a/sys/dev/mlx4/mlx4_en/mlx4_en_tx.c b/sys/dev/mlx4/mlx4_en/mlx4_en_tx.c
--- a/sys/dev/mlx4/mlx4_en/mlx4_en_tx.c
+++ b/sys/dev/mlx4/mlx4_en/mlx4_en_tx.c
@@ -433,9 +433,9 @@
spin_unlock(&ring->comp_lock);
}
-void mlx4_en_poll_tx_cq(unsigned long data)
+void mlx4_en_poll_tx_cq(struct timer_list *t)
{
- struct mlx4_en_cq *cq = (struct mlx4_en_cq *) data;
+ struct mlx4_en_cq *cq = from_timer(cq, t, timer);
struct mlx4_en_priv *priv = mlx4_netdev_priv(cq->dev);
struct mlx4_en_tx_ring *ring = priv->tx_ring[cq->ring];
u32 inflight;

File Metadata

Mime Type
text/plain
Expires
Wed, Sep 16, 12:41 AM (8 h, 46 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
38990472
Default Alt Text
D59680.id186733.diff (1 KB)

Event Timeline