ll_temac: enable transmit and receive time stamping.
authorRichard Cochran <richardcochran@gmail.com>
Sun, 19 Jun 2011 21:51:26 +0000 (21:51 +0000)
committerDavid S. Miller <davem@davemloft.net>
Mon, 20 Jun 2011 20:56:54 +0000 (13:56 -0700)
This patch enables software (and phy device) time stamping. Since this MAC
is based on phylib, adding the hooks makes hardware time stamping in the
phy possible.

Compile tested only.

Cc: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Richard Cochran <richard.cochran@omicron.at>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ll_temac_main.c

index e7b8afec73a15137d4001a82d469501a0a83ed80..e3f19255af284016b2ac3f72743d9a646ee7ac3a 100644 (file)
@@ -728,6 +728,8 @@ static int temac_start_xmit(struct sk_buff *skb, struct net_device *ndev)
        if (lp->tx_bd_tail >= TX_BD_NUM)
                lp->tx_bd_tail = 0;
 
+       skb_tx_timestamp(skb);
+
        /* Kick off the transfer */
        lp->dma_out(lp, TX_TAILDESC_PTR, tail_p); /* DMA start */
 
@@ -773,7 +775,8 @@ static void ll_temac_recv(struct net_device *ndev)
                        skb->ip_summed = CHECKSUM_COMPLETE;
                }
 
-               netif_rx(skb);
+               if (!skb_defer_rx_timestamp(skb))
+                       netif_rx(skb);
 
                ndev->stats.rx_packets++;
                ndev->stats.rx_bytes += length;