mirror of https://gitee.com/openkylin/linux.git
net/mlx4_en: Prepare ethtool private flags to support more flags
Currently we support only one ethtool private flag. Prepare mlx4_en_set_priv_flags function to support more than one private flag. Will be used in the next patch to support hardware accelerated 802.1ad vlan. Signed-off-by: Hadar Hen Zion <hadarh@mellanox.com> Signed-off-by: Amir Vadai <amirv@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
77fc29c4bb
commit
7c509a48ff
|
@ -1801,31 +1801,30 @@ static int mlx4_en_set_priv_flags(struct net_device *dev, u32 flags)
|
|||
bool bf_enabled_old = !!(priv->pflags & MLX4_EN_PRIV_FLAGS_BLUEFLAME);
|
||||
int i;
|
||||
|
||||
if (bf_enabled_new == bf_enabled_old)
|
||||
return 0; /* Nothing to do */
|
||||
if (bf_enabled_new != bf_enabled_old) {
|
||||
if (bf_enabled_new) {
|
||||
bool bf_supported = true;
|
||||
|
||||
if (bf_enabled_new) {
|
||||
bool bf_supported = true;
|
||||
for (i = 0; i < priv->tx_ring_num; i++)
|
||||
bf_supported &= priv->tx_ring[i]->bf_alloced;
|
||||
|
||||
for (i = 0; i < priv->tx_ring_num; i++)
|
||||
bf_supported &= priv->tx_ring[i]->bf_alloced;
|
||||
if (!bf_supported) {
|
||||
en_err(priv, "BlueFlame is not supported\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
if (!bf_supported) {
|
||||
en_err(priv, "BlueFlame is not supported\n");
|
||||
return -EINVAL;
|
||||
priv->pflags |= MLX4_EN_PRIV_FLAGS_BLUEFLAME;
|
||||
} else {
|
||||
priv->pflags &= ~MLX4_EN_PRIV_FLAGS_BLUEFLAME;
|
||||
}
|
||||
|
||||
priv->pflags |= MLX4_EN_PRIV_FLAGS_BLUEFLAME;
|
||||
} else {
|
||||
priv->pflags &= ~MLX4_EN_PRIV_FLAGS_BLUEFLAME;
|
||||
for (i = 0; i < priv->tx_ring_num; i++)
|
||||
priv->tx_ring[i]->bf_enabled = bf_enabled_new;
|
||||
|
||||
en_info(priv, "BlueFlame %s\n",
|
||||
bf_enabled_new ? "Enabled" : "Disabled");
|
||||
}
|
||||
|
||||
for (i = 0; i < priv->tx_ring_num; i++)
|
||||
priv->tx_ring[i]->bf_enabled = bf_enabled_new;
|
||||
|
||||
en_info(priv, "BlueFlame %s\n",
|
||||
bf_enabled_new ? "Enabled" : "Disabled");
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue