I sent this accidentally only to carldani, sorry: On Thu, Apr 8, 2010 at 23:04, Urja Rannikko <[email protected]> wrote:
> > > On Wed, Apr 7, 2010 at 15:19, Carl-Daniel Hailfinger < > [email protected]> wrote: > >> On 03.04.2010 23:09, Carl-Daniel Hailfinger wrote: >> > 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) >> > >> >> I expect this little change to improve precision dramatically. >> >> >> > - Make sure there are no CPU frequency changes or sleep states >> > >> > >> >> Signed-off-by: Urja Rannikko <[email protected]> >> >> >> > >> > 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. >> > >> >> We need your patch, I had just hoped that improved precision would be >> possible with the additional change I suggested. Anyway, this is >> Acked-by: Carl-Daniel Hailfinger <[email protected]> >> >> Can you commit? >> >> If I would have commit access ;) > > I'm sorry that i forgot about this until now (real life+work had priority) > - I just changed my mb from the failing (in many ways) Asus K8S-MX to a > M4N78-AM. > > For this MB the delay loop is accurate with if (timeusec > 1000000 / 4). > Just for reference - M4N78-AM: > "timeusec < 1000" - 3 runs: > Calibrating delay loop... 1156M loops per second, 10 myus = 10 us, 100 myus > = 101 us, 1000 myus = 1148 us, 10000 myus = 10998 us, OK. > Calibrating delay loop... 1156M loops per second, 10 myus = 10 us, 100 myus > = 101 us, 1000 myus = 1092 us, 10000 myus = 13070 us, OK. > Calibrating delay loop... 1146M loops per second, 10 myus = 10 us, 100 myus > = 181 us, 1000 myus = 996 us, 10000 myus = 10807 us, OK. > > "timeusec > 1000000 / 4" - 3 runs: > Calibrating delay loop... 1153M loops per second, 10 myus = 10 us, 100 myus > = 100 us, 1000 myus = 998 us, 10000 myus = 10003 us, OK. > Calibrating delay loop... 1154M loops per second, 10 myus = 10 us, 100 myus > = 100 us, 1000 myus = 1004 us, 10000 myus = 10014 us, OK. > Calibrating delay loop... 1132M loops per second, 10 myus = 10 us, 100 myus > = 98 us, 1000 myus = 987 us, 10000 myus = 10442 us, OK. > > I dont (atleast Right Now - i dont know what I will do with that K8S-MX) > want to take my new shiny system apart just to put that MB from '05 back for > running flashrom a few times on it, sorry. > -- urjaman
_______________________________________________ flashrom mailing list [email protected] http://www.flashrom.org/mailman/listinfo/flashrom
