From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752371AbbIOXk1 (ORCPT ); Tue, 15 Sep 2015 19:40:27 -0400 Received: from shards.monkeyblade.net ([149.20.54.216]:54841 "EHLO shards.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751816AbbIOXk0 (ORCPT ); Tue, 15 Sep 2015 19:40:26 -0400 Date: Tue, 15 Sep 2015 16:40:25 -0700 (PDT) Message-Id: <20150915.164025.1543038793305792029.davem@davemloft.net> To: robert.jarzmik@free.fr Cc: samuel@sortiz.org, petr.cvek@tul.cz, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, arnd@arndb.de Subject: Re: [PATCH v2 1/3] net: irda: pxaficp_ir: use sched_clock() for time management From: David Miller In-Reply-To: <1442058324-9760-1-git-send-email-robert.jarzmik@free.fr> References: <1442058324-9760-1-git-send-email-robert.jarzmik@free.fr> X-Mailer: Mew version 6.7 on Emacs 24.5 / Mule 6.0 (HANACHIRUSATO) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.5.12 (shards.monkeyblade.net [149.20.54.216]); Tue, 15 Sep 2015 16:40:26 -0700 (PDT) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Robert Jarzmik Date: Sat, 12 Sep 2015 13:45:22 +0200 > Instead of using directly the OS timer through direct register access, > use the standard sched_clock(), which will end up in OSCR reading > anyway. > > This is a first step for direct access register removal and machine > specific code removal from this driver. > > Signed-off-by: Robert Jarzmik What is the granularity of the OSCR register? If it is not nanoseconds, then you need to adjust calculations such as this one: > @@ -549,7 +548,7 @@ static int pxa_irda_hard_xmit(struct sk_buff *skb, struct net_device *dev) > skb_copy_from_linear_data(skb, si->dma_tx_buff, skb->len); > > if (mtt) > - while ((unsigned)(readl_relaxed(OSCR) - si->last_oscr)/4 < mtt) > + while ((sched_clock() - si->last_clk) / 4 < mtt) > cpu_relax();