From patchwork Wed Dec 16 14:04:41 2009 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sandeep Gopalpet X-Patchwork-Id: 41262 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 6E7A11007D2 for ; Thu, 17 Dec 2009 01:05:02 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S934019AbZLPOE5 (ORCPT ); Wed, 16 Dec 2009 09:04:57 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S933960AbZLPOE5 (ORCPT ); Wed, 16 Dec 2009 09:04:57 -0500 Received: from az33egw02.freescale.net ([192.88.158.103]:59180 "EHLO az33egw02.freescale.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933892AbZLPOE4 (ORCPT ); Wed, 16 Dec 2009 09:04:56 -0500 Received: from az33smr01.freescale.net (az33smr01.freescale.net [10.64.34.199]) by az33egw02.freescale.net (8.14.3/az33egw02) with ESMTP id nBGE4jL2010606; Wed, 16 Dec 2009 07:04:46 -0700 (MST) Received: from lc1106.zin33.ap.freescale.net (lc1106.zin33.ap.freescale.net [10.232.3.106]) by az33smr01.freescale.net (8.13.1/8.13.0) with ESMTP id nBGE97Su029676; Wed, 16 Dec 2009 08:09:08 -0600 (CST) Received: by lc1106.zin33.ap.freescale.net (Postfix, from userid 65002149) id 8FD35C063; Wed, 16 Dec 2009 19:34:42 +0530 (IST) From: Sandeep Gopalpet To: netdev@vger.kernel.org, avorontsov@ru.mvista.com Cc: davem@davemloft.net, Sandeep Gopalpet Subject: [RFC PATCH] gianfar: update txq->trans_start rather than dev->trans_start Date: Wed, 16 Dec 2009 19:34:41 +0530 Message-Id: <1260972281-20012-1-git-send-email-Sandeep.Kumar@freescale.com> X-Mailer: git-send-email 1.6.5.6 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Signed-off-by: Sandeep Gopalpet --- *. Please let me know if updating txq->trans_start in gfar_start is alright, although updating txq->trans_start in gfar_start_xmit( ) should be done. drivers/net/gianfar.c | 9 +++++++-- 1 files changed, 7 insertions(+), 2 deletions(-) diff --git a/drivers/net/gianfar.c b/drivers/net/gianfar.c index e0620d0..f8bcc72 100644 --- a/drivers/net/gianfar.c +++ b/drivers/net/gianfar.c @@ -1665,6 +1665,7 @@ void gfar_start(struct net_device *dev) { struct gfar_private *priv = netdev_priv(dev); struct gfar __iomem *regs = priv->gfargrp[0].regs; + struct netdev_queue *txq; u32 tempval; int i = 0; @@ -1692,7 +1693,11 @@ void gfar_start(struct net_device *dev) gfar_write(®s->imask, IMASK_DEFAULT); } - dev->trans_start = jiffies; + /* Update the trans_start for each queue */ + for (i = 0; i < priv->num_tx_queues; i++) { + txq = netdev_get_tx_queue(dev, i); + txq->trans_start = jiffies; + } } void gfar_configure_coalescing(struct gfar_private *priv, @@ -2069,7 +2074,7 @@ static int gfar_start_xmit(struct sk_buff *skb, struct net_device *dev) /* reduce TxBD free count */ tx_queue->num_txbdfree -= (nr_frags + 1); - dev->trans_start = jiffies; + txq->trans_start = jiffies; /* If the next BD still needs to be cleaned up, then the bds are full. We need to tell the kernel to stop sending us stuff. */