Lines Matching refs:priv

17 mlx5e_hv_vhca_fill_ring_stats(struct mlx5e_priv *priv, int ch,
23 stats = priv->channel_stats[ch];
27 for (tc = 0; tc < priv->max_opened_tc; tc++) {
33 static void mlx5e_hv_vhca_fill_stats(struct mlx5e_priv *priv, void *data,
38 for (ch = 0; ch < priv->stats_nch; ch++) {
46 mlx5e_hv_vhca_fill_ring_stats(priv, ch, buf);
51 static int mlx5e_hv_vhca_stats_buf_size(struct mlx5e_priv *priv)
54 priv->stats_nch);
62 struct mlx5e_priv *priv;
68 priv = container_of(sagent, struct mlx5e_priv, stats_agent);
69 buf_len = mlx5e_hv_vhca_stats_buf_size(priv);
74 mlx5e_hv_vhca_fill_stats(priv, buf, buf_len);
78 mlx5_core_err(priv->mdev,
85 queue_delayed_work(priv->wq, &sagent->work, sagent->delay);
97 struct mlx5e_priv *priv;
99 priv = mlx5_hv_vhca_agent_priv(agent);
100 sagent = &priv->stats_agent;
103 block->rings = priv->stats_nch;
106 cancel_delayed_work_sync(&priv->stats_agent.work);
113 queue_delayed_work(priv->wq, &sagent->work, sagent->delay);
118 struct mlx5e_priv *priv = mlx5_hv_vhca_agent_priv(agent);
120 cancel_delayed_work_sync(&priv->stats_agent.work);
123 void mlx5e_hv_vhca_stats_create(struct mlx5e_priv *priv)
125 int buf_len = mlx5e_hv_vhca_stats_buf_size(priv);
128 priv->stats_agent.buf = kvzalloc(buf_len, GFP_KERNEL);
129 if (!priv->stats_agent.buf)
132 agent = mlx5_hv_vhca_agent_create(priv->mdev->hv_vhca,
136 priv);
140 netdev_warn(priv->netdev,
144 kvfree(priv->stats_agent.buf);
148 priv->stats_agent.agent = agent;
149 INIT_DELAYED_WORK(&priv->stats_agent.work, mlx5e_hv_vhca_stats_work);
152 void mlx5e_hv_vhca_stats_destroy(struct mlx5e_priv *priv)
154 if (IS_ERR_OR_NULL(priv->stats_agent.agent))
157 mlx5_hv_vhca_agent_destroy(priv->stats_agent.agent);
158 kvfree(priv->stats_agent.buf);