forked from Minki/linux
3c59x: Add software timestamping
Added software timestamping ability. Tested with linuxptp and synchronized clocks to an average of less than 200 microseconds on 10 megabit ethernet. Tested on both Vortex and Boomerang models. Signed-off-by: Matthew Whitehead <tedheadster@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
237217546d
commit
2a2529ef2b
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user