[flashrom] r990 udelay fails for me ...
Carl-Daniel Hailfinger
c-d.hailfinger.devel.2006 at gmx.net
Sat Apr 3 23:09:35 CEST 2010
On 03.04.2010 01:28, Urja Rannikko wrote:
> This seems to "fix" this for me - the delay loop is still unreliable, but
> atleast the recalibration attempts only take 5s instead of minutes. This is
> a combined diff for both my fix and the % fix.
>
> Index: udelay.c
> ===================================================================
> --- udelay.c (revision 990)
> +++ udelay.c (working copy)
> @@ -66,6 +66,7 @@
> printf("Calibrating delay loop... ");
>
> recalibrate:
> + count = 1000;
> while (1) {
> timeusec = measure_delay(count);
> if (timeusec > 1000000 / 4)
>
Does the timing get more reliable if you try the following stuff:
- change the comparison above to
if (timeusec > 1000)
- Make sure there are no CPU frequency changes or sleep states
> @@ -93,7 +94,7 @@
> */
> for (i = 0; i < 4; i++) {
> if (measure_delay(100) < 90) {
> - msg_pdbg("delay more than 10% too short, "
> + msg_pdbg("delay more than 10%% too short, "
> "recalculating... ");
> goto recalibrate;
> }
> Signed-off-by: Urja Rannikko <urjaman at gmail.com>
>
In general, I like your patch. I just hope to get more input if reducing
the abort condition in the loop from 250 ms to 1 ms helps as well.
Regards,
Carl-Daniel
--
http://www.hailfinger.org/
More information about the flashrom
mailing list