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.
