linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: b20788@freescale.com (Anson Huang)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] regulator: anatop: improve precision of delay time
Date: Mon, 4 Feb 2013 10:52:51 -0500	[thread overview]
Message-ID: <20130204155251.GA5209@ubuntu> (raw)
In-Reply-To: <1359944492-23130-1-git-send-email-shawn.guo@linaro.org>

On Mon, Feb 04, 2013 at 10:21:32AM +0800, Shawn Guo wrote:
> For cpufreq example, it takes 13 steps (25 mV for one step) to increase
> vddcore from 0.95 V to 1.275 V, and the time of 64 clock cycles at
> 24 MHz for one step is ~2.67 uS, so the total delay time would be
> ~34.71 uS.  But the current calculation in the driver gives 39 uS.
> Change the formula to have the addition of 1 be the last step, so that
> we can get a more precise delay time.  For example above, the new
> formula will give 35 uS.
> 
> Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
> ---
>  drivers/regulator/anatop-regulator.c |    4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/regulator/anatop-regulator.c b/drivers/regulator/anatop-regulator.c
> index 0df9c6a..0d4a8cc 100644
> --- a/drivers/regulator/anatop-regulator.c
> +++ b/drivers/regulator/anatop-regulator.c
> @@ -80,8 +80,8 @@ static int anatop_regmap_set_voltage_time_sel(struct regulator_dev *reg,
>  		regmap_read(anatop_reg->anatop, anatop_reg->delay_reg, &val);
>  		val = (val >> anatop_reg->delay_bit_shift) &
>  			((1 << anatop_reg->delay_bit_width) - 1);
> -		ret = (new_sel - old_sel) * ((LDO_RAMP_UP_UNIT_IN_CYCLES <<
> -			val) / LDO_RAMP_UP_FREQ_IN_MHZ + 1);
> +		ret = (new_sel - old_sel) * (LDO_RAMP_UP_UNIT_IN_CYCLES <<
> +			val) / LDO_RAMP_UP_FREQ_IN_MHZ + 1;
Agreed that this formula will make the udelay more precise, the previous formula is considering a program model for udelay margin(the biggest margin is about 9us), maybe we don't need so big margin, 1us may be enough, as the hardware design of this step time is already very conservative.

>  	}
>  
>  	return ret;
> -- 
> 1.7.9.5
> 

  reply	other threads:[~2013-02-04 15:52 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-02-04  2:21 [PATCH] regulator: anatop: improve precision of delay time Shawn Guo
2013-02-04 15:52 ` Anson Huang [this message]
2013-02-08 11:15 ` Mark Brown

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=20130204155251.GA5209@ubuntu \
    --to=b20788@freescale.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).