From patchwork Mon Dec 16 15:20:26 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: tedheadster X-Patchwork-Id: 301751 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id A60952C009B for ; Tue, 17 Dec 2013 02:28:28 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754720Ab3LPP1s (ORCPT ); Mon, 16 Dec 2013 10:27:48 -0500 Received: from mail-ie0-f172.google.com ([209.85.223.172]:62813 "EHLO mail-ie0-f172.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754537Ab3LPP1q (ORCPT ); Mon, 16 Dec 2013 10:27:46 -0500 Received: by mail-ie0-f172.google.com with SMTP id qd12so6655617ieb.17 for ; Mon, 16 Dec 2013 07:27:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id; bh=D4++CJ+0Rke4bxAFnjI1ye9L8IuEZ1gcfZKZgCFTq7U=; b=H0xe2U5A0TCzHuDKWuFRdEe7IZQ92P65wNux6VGTBJIWeJQQFqVS1p1cENlA8WEbvY ageftyCYWVoTk11CwZ6ucNozMTaqek5wFlxaX9YGbwZW8UR7ynqURwkDzMCE4/ltOHNP wLEPGr9v91K+N3oR48lJ1D4Fub6432f5FV0fPVhKXsvZZ7JLDg5sSCMssbuSc7xpqN+w FXzCEfHXz+5vXeVHIXFnP/oxvOhMDzfwZQImfYp+mymuHYtydvyl0EWi2YI9Nhz0kcYc MA5onqDsWy8QUQZJ1Xsaqs1VTeWHHq2AzvqEdjDKbEnpAcXEXCRSbbPMFhWn53bcpnk3 UVDA== X-Received: by 10.42.70.83 with SMTP id e19mr990592icj.75.1387207242233; Mon, 16 Dec 2013 07:20:42 -0800 (PST) Received: from localhost.localdomain ([184.241.92.33]) by mx.google.com with ESMTPSA id o1sm16626907igh.9.2013.12.16.07.20.40 for (version=TLSv1 cipher=RC4-SHA bits=128/128); Mon, 16 Dec 2013 07:20:41 -0800 (PST) From: Matthew Whitehead To: netdev@vger.kernel.org Cc: Matthew Whitehead Subject: [PATCH net-next] 3c59x: Add software timestamping Date: Mon, 16 Dec 2013 10:20:26 -0500 Message-Id: <1387207226-17076-1-git-send-email-tedheadster@gmail.com> X-Mailer: git-send-email 1.7.1 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org 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 --- drivers/net/ethernet/3com/3c59x.c | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-) diff --git a/drivers/net/ethernet/3com/3c59x.c b/drivers/net/ethernet/3com/3c59x.c index ad5272b..10ad402 100644 --- a/drivers/net/ethernet/3com/3c59x.c +++ b/drivers/net/ethernet/3com/3c59x.c @@ -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