All of lore.kernel.org
 help / color / mirror / Atom feed
* [Xenomai] imx28 linux 3.10.32 + ipipe v7 + GPIO IRQ machine freeze
@ 2015-01-29  8:46 Gautier HAOUY
  2015-01-29 10:46 ` Gilles Chanteperdrix
  2015-01-29 11:14 ` Kevin Kasal
  0 siblings, 2 replies; 5+ messages in thread
From: Gautier HAOUY @ 2015-01-29  8:46 UTC (permalink / raw)
  To: xenomai

Hello everyone,

I am kindly requesting your help today as I am facing a complete freeze on
an Freescale iMX28 based board (armadeus APF28-Dev).
I have developed a very simple kernel module which registers a GPIO
interrupt handler, working properly on linux 3.10.32 kernel.
The same code, compiled on a 3.10.32 + ipipe7 (also tested on ipipe v4)
patched kernel generates a machine freeze on IRQ reception, without message
and any other possibility than resetting the board.

I would appreciate any help/hint/procedure I could use to dive into the
problem and solve it.
Hoping to help others afterwards,
Best regards,
G0TieR.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Xenomai] imx28 linux 3.10.32 + ipipe v7 + GPIO IRQ machine freeze
  2015-01-29  8:46 [Xenomai] imx28 linux 3.10.32 + ipipe v7 + GPIO IRQ machine freeze Gautier HAOUY
@ 2015-01-29 10:46 ` Gilles Chanteperdrix
  2015-01-29 11:02   ` Gilles Chanteperdrix
  2015-01-29 11:14 ` Kevin Kasal
  1 sibling, 1 reply; 5+ messages in thread
From: Gilles Chanteperdrix @ 2015-01-29 10:46 UTC (permalink / raw)
  To: Gautier HAOUY; +Cc: xenomai

On Thu, Jan 29, 2015 at 09:46:13AM +0100, Gautier HAOUY wrote:
> Hello everyone,
> 
> I am kindly requesting your help today as I am facing a complete freeze on
> an Freescale iMX28 based board (armadeus APF28-Dev).
> I have developed a very simple kernel module which registers a GPIO
> interrupt handler, working properly on linux 3.10.32 kernel.
> The same code, compiled on a 3.10.32 + ipipe7 (also tested on ipipe v4)
> patched kernel generates a machine freeze on IRQ reception, without message
> and any other possibility than resetting the board.
> 
> I would appreciate any help/hint/procedure I could use to dive into the
> problem and solve it.
> Hoping to help others afterwards,
> Best regards,
> G0TieR.

What is the problem exactly. Only applying the I-pipe patch breaks
the GPIOs, or you need to compile the kernel with CONFIG_IPIPE?

-- 
					    Gilles.


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Xenomai] imx28 linux 3.10.32 + ipipe v7 + GPIO IRQ machine freeze
  2015-01-29 10:46 ` Gilles Chanteperdrix
@ 2015-01-29 11:02   ` Gilles Chanteperdrix
  2015-01-29 11:45     ` Gautier HAOUY
  0 siblings, 1 reply; 5+ messages in thread
From: Gilles Chanteperdrix @ 2015-01-29 11:02 UTC (permalink / raw)
  To: Gautier HAOUY; +Cc: xenomai

On Thu, Jan 29, 2015 at 11:46:50AM +0100, Gilles Chanteperdrix wrote:
> On Thu, Jan 29, 2015 at 09:46:13AM +0100, Gautier HAOUY wrote:
> > Hello everyone,
> > 
> > I am kindly requesting your help today as I am facing a complete freeze on
> > an Freescale iMX28 based board (armadeus APF28-Dev).
> > I have developed a very simple kernel module which registers a GPIO
> > interrupt handler, working properly on linux 3.10.32 kernel.
> > The same code, compiled on a 3.10.32 + ipipe7 (also tested on ipipe v4)
> > patched kernel generates a machine freeze on IRQ reception, without message
> > and any other possibility than resetting the board.
> > 
> > I would appreciate any help/hint/procedure I could use to dive into the
> > problem and solve it.
> > Hoping to help others afterwards,
> > Best regards,
> > G0TieR.
> 
> What is the problem exactly. Only applying the I-pipe patch breaks
> the GPIOs, or you need to compile the kernel with CONFIG_IPIPE?

I assume the latter. Please replace the calls to generic_handle_irq
with ipipe_handle_demuxed_irq in drivers/gpio/gpio-mxs.c. The change
got forgotten when the gpio file moved to drivers/gpio it seems.

-- 
					    Gilles.


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Xenomai] imx28 linux 3.10.32 + ipipe v7 + GPIO IRQ machine freeze
  2015-01-29  8:46 [Xenomai] imx28 linux 3.10.32 + ipipe v7 + GPIO IRQ machine freeze Gautier HAOUY
  2015-01-29 10:46 ` Gilles Chanteperdrix
@ 2015-01-29 11:14 ` Kevin Kasal
  1 sibling, 0 replies; 5+ messages in thread
From: Kevin Kasal @ 2015-01-29 11:14 UTC (permalink / raw)
  To: Gautier HAOUY; +Cc: xenomai




> On 29 Jan 2015, at 09:46, Gautier HAOUY <gautier.haouy@gmail.com> wrote:
> 
> Hello everyone,
> 
> I am kindly requesting your help today as I am facing a complete freeze on
> an Freescale iMX28 based board (armadeus APF28-Dev).
> I have developed a very simple kernel module which registers a GPIO
> interrupt handler, working properly on linux 3.10.32 kernel.
> The same code, compiled on a 3.10.32 + ipipe7 (also tested on ipipe v4)
> patched kernel generates a machine freeze on IRQ reception, without message
> and any other possibility than resetting the board.
> 
> I would appreciate any help/hint/procedure I could use to dive into the
> problem and solve it.
> Hoping to help others afterwards,
> Best regards,
> G0TieR.
> _______________________________________________
> Xenomai mailing list
> Xenomai@xenomai.org
> http://www.xenomai.org/mailman/listinfo/xenomai

Hi, 
this is my first post to this mailing list, but I had a similar problem a few weeks ago. In my case i simply forgot to acknowledge the interrupt (clearing the proper bit in the register), which lead to an infinite loop (interrupt triggers -> interrupt returns -> interrupt triggers again) . So I would say, that you just take away all the processing power with your interrupt. If you want, you can verify this with toggling an gpio pin in your interrupt with an logic analyzer attached to the pin (at least, thats what i did)

best regards,
Kevin Kasal



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Xenomai] imx28 linux 3.10.32 + ipipe v7 + GPIO IRQ machine freeze
  2015-01-29 11:02   ` Gilles Chanteperdrix
@ 2015-01-29 11:45     ` Gautier HAOUY
  0 siblings, 0 replies; 5+ messages in thread
From: Gautier HAOUY @ 2015-01-29 11:45 UTC (permalink / raw)
  To: Gilles Chanteperdrix; +Cc: xenomai

2015-01-29 12:02 GMT+01:00 Gilles Chanteperdrix <
gilles.chanteperdrix@xenomai.org>:

> On Thu, Jan 29, 2015 at 11:46:50AM +0100, Gilles Chanteperdrix wrote:
> > On Thu, Jan 29, 2015 at 09:46:13AM +0100, Gautier HAOUY wrote:
> > > Hello everyone,
> > >
> > > I am kindly requesting your help today as I am facing a complete
> freeze on
> > > an Freescale iMX28 based board (armadeus APF28-Dev).
> > > I have developed a very simple kernel module which registers a GPIO
> > > interrupt handler, working properly on linux 3.10.32 kernel.
> > > The same code, compiled on a 3.10.32 + ipipe7 (also tested on ipipe v4)
> > > patched kernel generates a machine freeze on IRQ reception, without
> message
> > > and any other possibility than resetting the board.
> > >
> > > I would appreciate any help/hint/procedure I could use to dive into the
> > > problem and solve it.
> > > Hoping to help others afterwards,
> > > Best regards,
> > > G0TieR.
> >
> > What is the problem exactly. Only applying the I-pipe patch breaks
> > the GPIOs, or you need to compile the kernel with CONFIG_IPIPE?
>
> I assume the latter. Please replace the calls to generic_handle_irq
> with ipipe_handle_demuxed_irq in drivers/gpio/gpio-mxs.c. The change
> got forgotten when the gpio file moved to drivers/gpio it seems.
>
> --
>                                             Gilles.
>

​Hi Gilles,

you found it... a simple change I would have liked to have found by myself.
I guess I missed reading a text file.

Thank you very very much for your help, now GPIO interrupts are properly
managed either using Linux domain or RTDM on my iMX28.

Best regards,
Gautier.​

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2015-01-29 11:45 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-01-29  8:46 [Xenomai] imx28 linux 3.10.32 + ipipe v7 + GPIO IRQ machine freeze Gautier HAOUY
2015-01-29 10:46 ` Gilles Chanteperdrix
2015-01-29 11:02   ` Gilles Chanteperdrix
2015-01-29 11:45     ` Gautier HAOUY
2015-01-29 11:14 ` Kevin Kasal

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.