Hello there,

I am using udelay in kernel codes for
- lirc tx (module lirc_gpio that I wrote some years ago)
- rfm12b control of ook devices (e.g. the rf signal is turned on and off 
for a number of usecs and this is controlling devices like rf controlled 
switches etc)

I always had to tweak with the protocols I found online a little and I only 
discovered now, why (I think).
I have a multicore A20 processor (cubietruck)

When (on the legacy 3.4. kernel) udelay is calculated, it uses one of the 
cores

If I do "cat /proc/cpuinfo" I get the following:

Processor : ARMv7 Processor rev 4 (v7l)
> processor : 0
> BogoMIPS : 1914.96
> processor : 1
> BogoMIPS : 1664.12
> Features : swp half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva 
> idivt 
> CPU implementer : 0x41
> CPU architecture: 7
> CPU variant : 0x0
> CPU part : 0xc07
> CPU revision : 4
> Hardware : sun7i
> Revision : 0000
> Serial : 0000000000000000
> Chipid : ....

Now, the udelay seems to run about 15% too fast, which corresponds more or 
less to the relation between the BogoMIPS of processor 0 and the BogoMIPS 
of processor 1.

Is there any remedy or can I specify in my code which core should be used?

I did some general research and apparently the problem is known and was 
remedied by using udelay based on internal timers, instead.  What are the 
kernel settings for this?

-- 
You received this message because you are subscribed to the Google Groups 
"linux-sunxi" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to