On 05/05/2011 08:42 PM, Gilles Chanteperdrix wrote:
> On 05/05/2011 04:12 PM, Alexey Galakhov wrote:
>> On 05/05/2011 08:02 PM, Gilles Chanteperdrix wrote:
>>> On 05/05/2011 03:16 PM, Alexey Galakhov wrote:
>>>> May it be caused by the following code from plat-samsung/time.c ?
>>>>
>>>> static inline void set_dec(unsigned long reload)
>>>> {
>>>> __raw_writel(reload, S3C2410_TCNTB(4)); /* <-------- In fact,
>>>> TCNT is 16-bit, so what if reload > 0xffff and reload & 0xffff == 0 ??? */
>>> Try adding:
>>>
>>> if (reload > 0xffff)
>>> reload = 0xffff;
>>>
>>> before the raw_writel
>> No effect. It may make sense but does not fix this bug.
> It may also happen that the timer has a lower limit, when the reload
> parameter is below this limit, you shoud call ipipe_trigger_irq, as
> explained in the porting guide.
Seems to be not the case but tried it anyway (guessed lower limit
0x00ff), no effect. Also tried to add printk to __ipipe_mach_set_dec,
got the following:
I-pipe: Domain Xenomai registered.
Xenomai: hal/arm started.
ipipe_mach_set_dec: 42187
ipipe_mach_set_dec: 4294967295
- - (repeats many times) - -
ipipe_mach_set_dec: 4294967295
ipipe_mach_set_dec: 42186
Xenomai: scheduling class idle registered.
Xenomai: scheduling class rt registered.
Xenomai: real-time nucleus v2.5.6 (Wormhole Wizards) loaded.
ipipe_mach_set_dec: 42187
Xenomai: starting native API services.
Xenomai: starting POSIX services.
Xenomai: starting RTDM services.
msgmni has been set to 119
Block layer SCSI generic (bsg) driver version 0.4 loaded (major 253)
io scheduler noop registered (default)
- - (hangs) - -
--
Alex
_______________________________________________
Adeos-main mailing list
[email protected]
https://mail.gna.org/listinfo/adeos-main