ixgbe: Correct reporting of timestamping for x550
authorTony Nguyen <anthony.l.nguyen@intel.com>
Wed, 1 Jun 2016 16:50:43 +0000 (09:50 -0700)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Wed, 29 Jun 2016 19:57:19 +0000 (12:57 -0700)
Update ixgbe_ethtool_get_ts_info() to show that x550 supports hardware
timestamping of all packets.

Reported-by: Guy Harris <guy@alum.mit.edu>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c

index 59b771b9b354b7bf049f6aca9963a2a69ca2c390..8a8450788124da0c81bf8519afc7a7aae3d89da7 100644 (file)
@@ -2991,10 +2991,15 @@ static int ixgbe_get_ts_info(struct net_device *dev,
 {
        struct ixgbe_adapter *adapter = netdev_priv(dev);
 
+       /* we always support timestamping disabled */
+       info->rx_filters = BIT(HWTSTAMP_FILTER_NONE);
+
        switch (adapter->hw.mac.type) {
        case ixgbe_mac_X550:
        case ixgbe_mac_X550EM_x:
        case ixgbe_mac_x550em_a:
+               info->rx_filters |= BIT(HWTSTAMP_FILTER_ALL);
+               /* fallthrough */
        case ixgbe_mac_X540:
        case ixgbe_mac_82599EB:
                info->so_timestamping =
@@ -3014,8 +3019,7 @@ static int ixgbe_get_ts_info(struct net_device *dev,
                        BIT(HWTSTAMP_TX_OFF) |
                        BIT(HWTSTAMP_TX_ON);
 
-               info->rx_filters =
-                       BIT(HWTSTAMP_FILTER_NONE) |
+               info->rx_filters |=
                        BIT(HWTSTAMP_FILTER_PTP_V1_L4_SYNC) |
                        BIT(HWTSTAMP_FILTER_PTP_V1_L4_DELAY_REQ) |
                        BIT(HWTSTAMP_FILTER_PTP_V2_EVENT);