All of lore.kernel.org
 help / color / mirror / Atom feed
From: Nishanth Menon <menon.nishanth@gmail.com>
To: Romit Dasgupta <romit@ti.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>,
	"linux-omap@vger.kernel.org" <linux-omap@vger.kernel.org>
Subject: Re: [PM-WIP-OPP] [PATCH] cleaner ceil function for uv to vsel conversion
Date: Tue, 12 Jan 2010 06:08:09 -0600	[thread overview]
Message-ID: <4B4C6629.2040100@gmail.com> (raw)
In-Reply-To: <4B4C39BB.5090409@ti.com>

Romit Dasgupta said the following on 01/12/2010 02:58 AM:
> Kevin Hilman wrote:
>   
>> Romit Dasgupta <romit@ti.com> writes:
>>
>>     
>>> Cleaner ceil function.
>>>       
>> Needs better subject and better changelog.
>>
>> Subject should probably be something like: OMAP: 
>>
>>   [PATCH] OPP: TWL/TPS: optimize uv to vsel function
>>
>> And changelog should describe the motiviation for the patch or a
>> description of the problem you're trying to solve.
>>     
> The description of the problem is "Cleaner ceil function for uv to vsel
> conversion".
>
> I think this patch is simple enough for people on this list to understand the
> optimization. I am sorry I cant be more descriptive.
>
>   
here is a try:
-----

 From patchwork Thu Dec 31 13:29:05 2009
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Subject: [pm-wip-opp] [PATCH] opp: twl/tps: optimize uv to vsel function
Date: Thu, 31 Dec 2009 13:29:05 -0000
From: Dasgupta, Romit <romit@ti.com>
X-Patchwork-Id: 70374


For integer values x and y; int div x / y causes truncation. Current
omap_twl_uv_to_vsel function implements an equivalent of ceil which
is based on an if condition to check truncation and round up.
We can do this in a more optimal manner without the if condition.
The round up is handled by adding the round off factor prior to
truncation as:
(x + (y - 1)) / y

---
Currently putting signed-off in --- section. If Romit is ok, please 
re-send as needed.
Signed-off-by: Dasgupta, Romit <romit@ti.com>

diff --git a/arch/arm/plat-omap/opp_twl_tps.c 
b/arch/arm/plat-omap/opp_twl_tps.c
index e0db39b..43dee2d 100644
--- a/arch/arm/plat-omap/opp_twl_tps.c
+++ b/arch/arm/plat-omap/opp_twl_tps.c
@@ -36,14 +36,7 @@ unsigned long omap_twl_vsel_to_uv(const u8 vsel)
  */
 u8 omap_twl_uv_to_vsel(unsigned long uv)
 {
-    u8 vsel;
+    /* Takes care of precision loss due to integer division */
+    return (((uv + 99) / 100 - 6000) + 124) / 125;
 
-    vsel = ((uv / 100) - 6000) / 125;
-
-    /* round off to higher voltage */
-    /* XXX Surely not the best way to handle this. */
-    if (uv > omap_twl_vsel_to_uv(vsel))
-        vsel++;
-
-    return vsel;
 }

  reply	other threads:[~2010-01-12 12:08 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-01-11  5:53 [PM-WIP-OPP] [PATCH] cleaner ceil function for uv to vsel conversion Romit Dasgupta
2010-01-11 22:29 ` Kevin Hilman
2010-01-12  8:58   ` Romit Dasgupta
2010-01-12 12:08     ` Nishanth Menon [this message]
2010-01-12 12:13       ` Romit Dasgupta

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4B4C6629.2040100@gmail.com \
    --to=menon.nishanth@gmail.com \
    --cc=khilman@deeprootsystems.com \
    --cc=linux-omap@vger.kernel.org \
    --cc=romit@ti.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.