Changeset View
Changeset View
Standalone View
Standalone View
sys/dev/mlx4/mlx4_en/mlx4_en_port.c
Show First 20 Lines • Show All 68 Lines • ▼ Show 20 Lines | err = mlx4_cmd(dev, mailbox->dma, priv->port, 0, MLX4_CMD_SET_VLAN_FLTR, | ||||
MLX4_CMD_TIME_CLASS_B, MLX4_CMD_WRAPPED); | MLX4_CMD_TIME_CLASS_B, MLX4_CMD_WRAPPED); | ||||
mlx4_free_cmd_mailbox(dev, mailbox); | mlx4_free_cmd_mailbox(dev, mailbox); | ||||
return err; | return err; | ||||
} | } | ||||
int mlx4_en_QUERY_PORT(struct mlx4_en_dev *mdev, u8 port) | int mlx4_en_QUERY_PORT(struct mlx4_en_dev *mdev, u8 port) | ||||
{ | { | ||||
struct mlx4_en_query_port_context *qport_context; | struct mlx4_en_query_port_context *qport_context; | ||||
struct mlx4_en_priv *priv = netdev_priv(mdev->pndev[port]); | struct mlx4_en_priv *priv = mlx4_netdev_priv(mdev->pndev[port]); | ||||
struct mlx4_en_port_state *state = &priv->port_state; | struct mlx4_en_port_state *state = &priv->port_state; | ||||
struct mlx4_cmd_mailbox *mailbox; | struct mlx4_cmd_mailbox *mailbox; | ||||
int err; | int err; | ||||
mailbox = mlx4_alloc_cmd_mailbox(mdev->dev); | mailbox = mlx4_alloc_cmd_mailbox(mdev->dev); | ||||
if (IS_ERR(mailbox)) | if (IS_ERR(mailbox)) | ||||
return PTR_ERR(mailbox); | return PTR_ERR(mailbox); | ||||
err = mlx4_cmd_box(mdev->dev, 0, mailbox->dma, port, 0, | err = mlx4_cmd_box(mdev->dev, 0, mailbox->dma, port, 0, | ||||
▲ Show 20 Lines • Show All 60 Lines • ▼ Show 20 Lines | for (i = 0; i < num; i++) { | ||||
curr += offset; | curr += offset; | ||||
} | } | ||||
return ret; | return ret; | ||||
} | } | ||||
static void mlx4_en_fold_software_stats(struct ifnet *dev) | static void mlx4_en_fold_software_stats(struct ifnet *dev) | ||||
{ | { | ||||
struct mlx4_en_priv *priv = netdev_priv(dev); | struct mlx4_en_priv *priv = mlx4_netdev_priv(dev); | ||||
struct mlx4_en_dev *mdev = priv->mdev; | struct mlx4_en_dev *mdev = priv->mdev; | ||||
u64 packets, bytes; | u64 packets, bytes; | ||||
int i; | int i; | ||||
if (!priv->port_up || mlx4_is_master(mdev->dev)) | if (!priv->port_up || mlx4_is_master(mdev->dev)) | ||||
return; | return; | ||||
packets = 0; | packets = 0; | ||||
Show All 20 Lines | |||||
} | } | ||||
int mlx4_en_DUMP_ETH_STATS(struct mlx4_en_dev *mdev, u8 port, u8 reset) | int mlx4_en_DUMP_ETH_STATS(struct mlx4_en_dev *mdev, u8 port, u8 reset) | ||||
{ | { | ||||
struct mlx4_counter tmp_vport_stats; | struct mlx4_counter tmp_vport_stats; | ||||
struct mlx4_en_stat_out_mbox *mlx4_en_stats; | struct mlx4_en_stat_out_mbox *mlx4_en_stats; | ||||
struct mlx4_en_stat_out_flow_control_mbox *flowstats; | struct mlx4_en_stat_out_flow_control_mbox *flowstats; | ||||
struct ifnet *dev = mdev->pndev[port]; | struct ifnet *dev = mdev->pndev[port]; | ||||
struct mlx4_en_priv *priv = netdev_priv(dev); | struct mlx4_en_priv *priv = mlx4_netdev_priv(dev); | ||||
struct mlx4_en_vport_stats *vport_stats = &priv->vport_stats; | struct mlx4_en_vport_stats *vport_stats = &priv->vport_stats; | ||||
struct mlx4_cmd_mailbox *mailbox; | struct mlx4_cmd_mailbox *mailbox; | ||||
u64 in_mod = reset << 8 | port; | u64 in_mod = reset << 8 | port; | ||||
int err; | int err; | ||||
int i, counter_index; | int i, counter_index; | ||||
mailbox = mlx4_alloc_cmd_mailbox(mdev->dev); | mailbox = mlx4_alloc_cmd_mailbox(mdev->dev); | ||||
if (IS_ERR(mailbox)) | if (IS_ERR(mailbox)) | ||||
▲ Show 20 Lines • Show All 231 Lines • ▼ Show 20 Lines | |||||
out: | out: | ||||
mlx4_free_cmd_mailbox(mdev->dev, mailbox); | mlx4_free_cmd_mailbox(mdev->dev, mailbox); | ||||
return err; | return err; | ||||
} | } | ||||
int mlx4_en_get_vport_stats(struct mlx4_en_dev *mdev, u8 port) | int mlx4_en_get_vport_stats(struct mlx4_en_dev *mdev, u8 port) | ||||
{ | { | ||||
struct mlx4_en_priv *priv = netdev_priv(mdev->pndev[port]); | struct mlx4_en_priv *priv = mlx4_netdev_priv(mdev->pndev[port]); | ||||
struct mlx4_counter tmp_vport_stats; | struct mlx4_counter tmp_vport_stats; | ||||
struct mlx4_en_vf_stats *vf_stats = &priv->vf_stats; | struct mlx4_en_vf_stats *vf_stats = &priv->vf_stats; | ||||
int err, i, counter_index; | int err, i, counter_index; | ||||
spin_lock(&priv->stats_lock); | spin_lock(&priv->stats_lock); | ||||
priv->pkstats.rx_packets = 0; | priv->pkstats.rx_packets = 0; | ||||
priv->pkstats.rx_bytes = 0; | priv->pkstats.rx_bytes = 0; | ||||
▲ Show 20 Lines • Show All 60 Lines • Show Last 20 Lines |