|
@@ -2079,10 +2079,12 @@ vortex_start_xmit(struct sk_buff *skb, struct net_device *dev)
|
|
|
iowrite16(len, ioaddr + Wn7_MasterLen);
|
|
|
spin_unlock_irq(&vp->window_lock);
|
|
|
vp->tx_skb = skb;
|
|
|
+ skb_tx_timestamp(skb);
|
|
|
iowrite16(StartDMADown, ioaddr + EL3_CMD);
|
|
|
/* netif_wake_queue() will be called at the DMADone interrupt. */
|
|
|
} else {
|
|
|
/* ... and the packet rounded to a doubleword. */
|
|
|
+ skb_tx_timestamp(skb);
|
|
|
iowrite32_rep(ioaddr + TX_FIFO, skb->data, (skb->len + 3) >> 2);
|
|
|
dev_kfree_skb (skb);
|
|
|
if (ioread16(ioaddr + TxFree) > 1536) {
|
|
@@ -2212,6 +2214,7 @@ boomerang_start_xmit(struct sk_buff *skb, struct net_device *dev)
|
|
|
prev_entry->status &= cpu_to_le32(~TxIntrUploaded);
|
|
|
#endif
|
|
|
}
|
|
|
+ skb_tx_timestamp(skb);
|
|
|
iowrite16(DownUnstall, ioaddr + EL3_CMD);
|
|
|
spin_unlock_irqrestore(&vp->lock, flags);
|
|
|
return NETDEV_TX_OK;
|
|
@@ -2986,6 +2989,7 @@ static const struct ethtool_ops vortex_ethtool_ops = {
|
|
|
.nway_reset = vortex_nway_reset,
|
|
|
.get_wol = vortex_get_wol,
|
|
|
.set_wol = vortex_set_wol,
|
|
|
+ .get_ts_info = ethtool_op_get_ts_info,
|
|
|
};
|
|
|
|
|
|
#ifdef CONFIG_PCI
|