fec: enable transmit and receive time stamping.
authorRichard Cochran <richardcochran@gmail.com>
Sun, 12 Jun 2011 02:18:59 +0000 (02:18 +0000)
committerDavid S. Miller <davem@conan.davemloft.net>
Mon, 13 Jun 2011 21:26:13 +0000 (17:26 -0400)
This patch has been tested on the Freescale M5234BCC, which includes the
National Semiconductor DP83640 with IEEE 1588 support.

Cc: Greg Ungerer <gerg@uclinux.org>
Cc: "Uwe Kleine-König" <u.kleine-koenig@pengutronix.de>
Cc: Shawn Guo <shawn.guo@freescale.com>
Signed-off-by: Richard Cochran <richard.cochran@omicron.at>
Signed-off-by: David S. Miller <davem@conan.davemloft.net>
drivers/net/fec.c

index 885d8ba..965fe90 100644 (file)
@@ -326,6 +326,8 @@ fec_enet_start_xmit(struct sk_buff *skb, struct net_device *ndev)
 
        spin_unlock_irqrestore(&fep->hw_lock, flags);
 
+       skb_tx_timestamp(skb);
+
        return NETDEV_TX_OK;
 }
 
@@ -650,7 +652,8 @@ fec_enet_rx(struct net_device *ndev)
                        skb_put(skb, pkt_len - 4);      /* Make room */
                        skb_copy_to_linear_data(skb, data, pkt_len - 4);
                        skb->protocol = eth_type_trans(skb, ndev);
-                       netif_rx(skb);
+                       if (!skb_defer_rx_timestamp(skb))
+                               netif_rx(skb);
                }
 
                bdp->cbd_bufaddr = dma_map_single(&fep->pdev->dev, data,