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 e7b8afe..e3f1925 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;