Lines Matching refs:priv
43 static int mlx4_en_test_registers(struct mlx4_en_priv *priv) in mlx4_en_test_registers() argument
45 return mlx4_cmd(priv->mdev->dev, 0, 0, 0, MLX4_CMD_HW_HEALTH_CHECK, in mlx4_en_test_registers()
49 static int mlx4_en_test_loopback_xmit(struct mlx4_en_priv *priv) in mlx4_en_test_loopback_xmit() argument
60 skb = netdev_alloc_skb(priv->dev, MLX4_LOOPBACK_TEST_PAYLOAD + ETH_HLEN + NET_IP_ALIGN); in mlx4_en_test_loopback_xmit()
68 memcpy(ethh->h_dest, priv->dev->dev_addr, ETH_ALEN); in mlx4_en_test_loopback_xmit()
76 err = mlx4_en_xmit(skb, priv->dev); in mlx4_en_test_loopback_xmit()
80 static int mlx4_en_test_loopback(struct mlx4_en_priv *priv) in mlx4_en_test_loopback() argument
86 priv->loopback_ok = 0; in mlx4_en_test_loopback()
87 priv->validate_loopback = 1; in mlx4_en_test_loopback()
88 gro_enabled = priv->dev->features & NETIF_F_GRO; in mlx4_en_test_loopback()
90 mlx4_en_update_loopback_state(priv->dev, priv->dev->features); in mlx4_en_test_loopback()
91 priv->dev->features &= ~NETIF_F_GRO; in mlx4_en_test_loopback()
94 if (mlx4_en_test_loopback_xmit(priv)) { in mlx4_en_test_loopback()
95 en_err(priv, "Transmitting loopback packet failed\n"); in mlx4_en_test_loopback()
102 if (priv->loopback_ok) { in mlx4_en_test_loopback()
108 en_err(priv, "Loopback packet didn't arrive\n"); in mlx4_en_test_loopback()
112 priv->validate_loopback = 0; in mlx4_en_test_loopback()
115 priv->dev->features |= NETIF_F_GRO; in mlx4_en_test_loopback()
117 mlx4_en_update_loopback_state(priv->dev, priv->dev->features); in mlx4_en_test_loopback()
122 static int mlx4_en_test_link(struct mlx4_en_priv *priv) in mlx4_en_test_link() argument
124 if (mlx4_en_QUERY_PORT(priv->mdev, priv->port)) in mlx4_en_test_link()
126 if (priv->port_state.link_state == 1) in mlx4_en_test_link()
132 static int mlx4_en_test_speed(struct mlx4_en_priv *priv) in mlx4_en_test_speed() argument
135 if (mlx4_en_QUERY_PORT(priv->mdev, priv->port)) in mlx4_en_test_speed()
139 if (priv->port_state.link_speed != SPEED_100 && in mlx4_en_test_speed()
140 priv->port_state.link_speed != SPEED_1000 && in mlx4_en_test_speed()
141 priv->port_state.link_speed != SPEED_10000 && in mlx4_en_test_speed()
142 priv->port_state.link_speed != SPEED_20000 && in mlx4_en_test_speed()
143 priv->port_state.link_speed != SPEED_40000 && in mlx4_en_test_speed()
144 priv->port_state.link_speed != SPEED_56000) in mlx4_en_test_speed()
145 return priv->port_state.link_speed; in mlx4_en_test_speed()
153 struct mlx4_en_priv *priv = netdev_priv(dev); in mlx4_en_ex_selftest() local
154 struct mlx4_en_dev *mdev = priv->mdev; in mlx4_en_ex_selftest()
169 if (priv->mdev->dev->caps.flags & in mlx4_en_ex_selftest()
171 buf[3] = mlx4_en_test_registers(priv); in mlx4_en_ex_selftest()
172 if (priv->port_up) in mlx4_en_ex_selftest()
173 buf[4] = mlx4_en_test_loopback(priv); in mlx4_en_ex_selftest()
181 buf[1] = mlx4_en_test_link(priv); in mlx4_en_ex_selftest()
182 buf[2] = mlx4_en_test_speed(priv); in mlx4_en_ex_selftest()