e1000e: add support for IEEE-1588 PTP
[linux-2.6-block.git] / drivers / net / ethernet / intel / e1000e / ethtool.c
index ceff1bf300b395f5ef14ce21388ba14834daaac8..e3855bb10599beb17432d3c3ef83c1bd0e74dcfb 100644 (file)
@@ -2209,8 +2209,20 @@ static int e1000e_get_ts_info(struct net_device *netdev,
        info->tx_types = (1 << HWTSTAMP_TX_OFF) | (1 << HWTSTAMP_TX_ON);
 
        info->rx_filters = ((1 << HWTSTAMP_FILTER_NONE) |
+                           (1 << HWTSTAMP_FILTER_PTP_V1_L4_SYNC) |
+                           (1 << HWTSTAMP_FILTER_PTP_V1_L4_DELAY_REQ) |
+                           (1 << HWTSTAMP_FILTER_PTP_V2_L4_SYNC) |
+                           (1 << HWTSTAMP_FILTER_PTP_V2_L4_DELAY_REQ) |
+                           (1 << HWTSTAMP_FILTER_PTP_V2_L2_SYNC) |
+                           (1 << HWTSTAMP_FILTER_PTP_V2_L2_DELAY_REQ) |
+                           (1 << HWTSTAMP_FILTER_PTP_V2_EVENT) |
+                           (1 << HWTSTAMP_FILTER_PTP_V2_SYNC) |
+                           (1 << HWTSTAMP_FILTER_PTP_V2_DELAY_REQ) |
                            (1 << HWTSTAMP_FILTER_ALL));
 
+       if (adapter->ptp_clock)
+               info->phc_index = ptp_clock_index(adapter->ptp_clock);
+
        return 0;
 }