On Thu, Dec 17, 2015 at 02:35:34PM +0200, Saeed Mahameed wrote:
> +static int mlx5e_get_ts_info(struct net_device *dev,
> + struct ethtool_ts_info *info)
> +{
> + struct mlx5e_priv *priv = netdev_priv(dev);
> + int ret;
> +
> + ret = ethtool_op_get_ts_info(dev, info);
> + if (ret)
> + return ret;
> +
> + if (MLX5_CAP_GEN(priv->mdev, device_frequency_khz)) {
> + info->so_timestamping |=
> + SOF_TIMESTAMPING_TX_HARDWARE |
> + SOF_TIMESTAMPING_RX_HARDWARE |
> + SOF_TIMESTAMPING_RAW_HARDWARE;
> +
> + info->tx_types =
> + (1 << HWTSTAMP_TX_OFF) |
> + (1 << HWTSTAMP_TX_ON);
> +
> + info->rx_filters =
> + (1 << HWTSTAMP_FILTER_NONE) |
> + (1 << HWTSTAMP_FILTER_ALL);
> + }
Here you need:
info->phc_index = -1;
and then in the next patch, use the PHC index when available.
> + return 0;
> +}
> +
> diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_rx.c
> b/drivers/net/ethernet/mellanox/mlx5/core/en_rx.c
> index 7c8c408..4ae70cd 100644
> --- a/drivers/net/ethernet/mellanox/mlx5/core/en_rx.c
> +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_rx.c
> @@ -36,6 +36,10 @@
> #include <net/busy_poll.h>
> #include "en.h"
>
> +#define MLX5E_RX_HW_STAMP(priv) \
> + (priv->tstamp.hwtstamp_config.rx_filter == \
> + HWTSTAMP_FILTER_ALL)
Use an inline function, please. Also, that line fits in 80 columns
easily.
> + if (MLX5E_RX_HW_STAMP(priv))
> + mlx5e_fill_hwstamp(&priv->tstamp, skb_hwtstamps(skb),
> + get_cqe_ts(cqe));
> +
> +#define MLX5E_TX_HW_STAMP(priv, skb) \
> + (priv->tstamp.hwtstamp_config.tx_type == HWTSTAMP_TX_ON && \
> + skb_shinfo(skb)->tx_flags & SKBTX_HW_TSTAMP)
Use inline function.
Thanks,
Richard
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html