[Xenomai] Xenomai on Atmel SAMA5D3 with a 3.14 kernel
Maxime Ripard
maxime.ripard at free-electrons.com
Wed Jun 11 11:25:32 CEST 2014
On Tue, Jun 10, 2014 at 12:01:36PM +0200, Gilles Chanteperdrix wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> On 06/10/2014 11:54 AM, Maxime Ripard wrote:
> > On Tue, Jun 10, 2014 at 11:48:25AM +0200, Gilles Chanteperdrix
> > wrote:
> >> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
> >>
> >> On 06/10/2014 11:40 AM, Maxime Ripard wrote:
> >>> On Sat, Jun 07, 2014 at 04:34:34PM +0200, Gilles Chanteperdrix
> >>> wrote:
> >>>> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
> >>>>
> >>>> On 06/06/2014 04:00 PM, Maxime Ripard wrote:
> >>>>> On Fri, Jun 06, 2014 at 03:59:12PM +0200, Maxime Ripard
> >>>>> wrote:
> >>>>>> Hi Gilles,
> >>>>>>
> >>>>>> I've been experimenting these days with the i-pipe 3.14
> >>>>>> kernel, and current xenomai master branch on the Atmel
> >>>>>> SAMA5D3 SoC.
> >>>>>>
> >>>>>> There's a few issues there, the first one being that
> >>>>>> at91_ipipe_early_init crashes because of a NULL pointer
> >>>>>> dereference. This is due to the clk_get_rate call on the
> >>>>>> clock returned by clk_get(NULL, "mck").
> >>>>>>
> >>>>>> This clk_get call cannot since 3.14 because the clock
> >>>>>> code has been rewritten, and you can't use clkdev
> >>>>>> anymore.
> >>>>>>
> >>>>>> This is quite simple to fix, and after actually fixing
> >>>>>> it, you get a more interesting issue: either the timers
> >>>>>> or the interrupts don't work at all.
> >>>>>>
> >>>>>> The first symptom is that it get stuck at the delay loop
> >>>>>> calibration. Setting the loops per jiffy in the command
> >>>>>> line make the boot go further, until the switch to the
> >>>>>> ipipe_tsc clocksource. This actually makes me think that
> >>>>>> it's more the timers that are broken rather than the
> >>>>>> interrupts. Changing the timer counter block doesn't
> >>>>>> solve anything.
> >>>>>>
> >>>>>> Do you have an idea of what could be going on?
> >>>>>
> >>>>>
> >>>>> Actually, the boot seem just to be *much* slower, so maybe
> >>>>> the timers are working after all, but it's just yet another
> >>>>> issue with the clocks.
> >>>>>
> >>>> Does __ipipe_tsc_update get called in Linux timer interrupt?
> >>>
> >>> Here is what's happening: http://pastebin.com/m2mz66pU
> >>>
> >>> You can see that at line 35, the timer interrupt (a spurious
> >>> one?) gets called, and calls __ipipe_tsc_update. At that point,
> >>> ipipe_tsc_value seems to be NULL, and hence __ipipe_tsc_update
> >>> returns.
> >>>
> >>> The thing is, the timer interrupt doesn't seem to be called
> >>> again. The fact that it was actually called once makes me think
> >>> that it's rather the timer clock that is not running... I will
> >>> dig into it.
> >>
> >> If you have CONFIG_NO_HZ enabled, try to turn it off.
> >
> > CONFIG_NO_HZ is disabled, here is the full config:
> > http://pastebin.com/fmVGTX4W
> >
> If you compile the kernel without I-pipe and Xenomai support and
> enable the tcb_clksrc clocksource driver does it work?
Yep, with the exact same config, except for CONFIG_IPIPE and
CONFIG_XENOMAI being disabled, it boots fine.
--
Maxime Ripard, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://www.xenomai.org/pipermail/xenomai/attachments/20140611/6f791842/attachment.sig>
More information about the Xenomai
mailing list