|
@@ -18,6 +18,7 @@
|
|
|
|
|
|
#include <linux/netdevice.h>
|
|
|
#include <linux/ethtool.h>
|
|
|
+#include <linux/net_tstamp.h>
|
|
|
|
|
|
#include "enic_res.h"
|
|
|
#include "enic.h"
|
|
@@ -578,6 +579,16 @@ static int enic_set_rxfh(struct net_device *netdev, const u32 *indir,
|
|
|
return __enic_set_rsskey(enic);
|
|
|
}
|
|
|
|
|
|
+static int enic_get_ts_info(struct net_device *netdev,
|
|
|
+ struct ethtool_ts_info *info)
|
|
|
+{
|
|
|
+ info->so_timestamping = SOF_TIMESTAMPING_TX_SOFTWARE |
|
|
|
+ SOF_TIMESTAMPING_RX_SOFTWARE |
|
|
|
+ SOF_TIMESTAMPING_SOFTWARE;
|
|
|
+
|
|
|
+ return 0;
|
|
|
+}
|
|
|
+
|
|
|
static const struct ethtool_ops enic_ethtool_ops = {
|
|
|
.get_drvinfo = enic_get_drvinfo,
|
|
|
.get_msglevel = enic_get_msglevel,
|
|
@@ -597,6 +608,7 @@ static const struct ethtool_ops enic_ethtool_ops = {
|
|
|
.get_rxfh = enic_get_rxfh,
|
|
|
.set_rxfh = enic_set_rxfh,
|
|
|
.get_link_ksettings = enic_get_ksettings,
|
|
|
+ .get_ts_info = enic_get_ts_info,
|
|
|
};
|
|
|
|
|
|
void enic_set_ethtool_ops(struct net_device *netdev)
|