Donald Becker wrote:

> This indicates a problem with your machine and the udelay() routine.
>

Between them yes.

> It's pretty clear that the udelay() routine isn't being calibrated correctly.
> It should be calibrated when the machine boots.
> This can cause other, less obvious, problems.
>

Uh huh.

> Could you track down this problem?  It's very difficult to people with
> "normal" machines to figure out what's going on.
>

I'll do my best Cap'n.  Can't promise anything however, as my ASM is rusty, and 
that's what
the udelay function is written in (even if it is small).

> That's what udelay() is supposed to do.
> I used to use the SLOW_DOWN_IO routine, which is calibrated to ISA bus
> speed.  That had the drawbacks of
>         Not working on non-ISA architectures.
>         Not timing accurately with over-clocked busses
>           (I assumed 16Mhz worst-case, 8.33Mhz is nominal max.)
>         Being difficult to understand.
>

Mmmm hmm, yes sir, that would prove to be a problem.  One way I could suggest 
would be to get
at the real time clock for calibration purposes (which shouldn't be a problem 
on most machines
(and if it is, the hardware would most likely be corrupt as well)).  Another 
way would be to
use one of the programmable timer chips in the system (which most if not all 
architectures I
have to assume would have).  All ideas you've probably thought of several 
times, I would
imagine.  But if I do come up with something substantial I'll drop you a line.

> > (BTW, attached is the source code for the 1.14 driver with the delay values 
> > changed, for
>
> I'm not going to change the driver constants -- this should be fixed in the
> udelay() routine.

I understand your reasons, and I wasn't being presumptuous in posting the 
modified code
expecting it to be instituted as a fix to the current distribution.  I just 
wanted to get it
out on the net for others with my same problem to see.  If I could have found 
something like
this in the FAQ, or even on the driver page it would have saved me so much time 
spent thinking
about it (and with my mind, a problem unsolved haunts me constantly for days).

I'll see what I can come up with on getting the udelay() function to work 
properly with my
system.

Thanks again.



--
TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word "unsubscribe" to
[EMAIL PROTECTED] . 
Trouble?  e-mail to [EMAIL PROTECTED] .

Reply via email to