* [Xenomai] rtdm_irq_request not registering irq
@ 2015-02-16 4:58 JAY KOTHARI
2015-02-16 9:25 ` Gilles Chanteperdrix
0 siblings, 1 reply; 10+ messages in thread
From: JAY KOTHARI @ 2015-02-16 4:58 UTC (permalink / raw)
To: xenomai
Hello,
I am requesting interrupt with rtdm_irq_request. API works
without error but not irq is not working. When I look into dmesg I get
back-trace of this API but no error. I even looked in /proc/interrupts
but no sign of registration. What might be wrong with this API for
me??
Jay Kothari
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [Xenomai] rtdm_irq_request not registering irq
2015-02-16 4:58 [Xenomai] rtdm_irq_request not registering irq JAY KOTHARI
@ 2015-02-16 9:25 ` Gilles Chanteperdrix
2015-02-16 9:52 ` JAY KOTHARI
2015-02-17 17:33 ` Lennart Sorensen
0 siblings, 2 replies; 10+ messages in thread
From: Gilles Chanteperdrix @ 2015-02-16 9:25 UTC (permalink / raw)
To: JAY KOTHARI; +Cc: xenomai
On Mon, Feb 16, 2015 at 10:28:51AM +0530, JAY KOTHARI wrote:
> Hello,
> I am requesting interrupt with rtdm_irq_request. API works
> without error but not irq is not working. When I look into dmesg I get
> back-trace of this API but no error. I even looked in /proc/interrupts
> but no sign of registration. What might be wrong with this API for
> me??
You will not see an interrupt registered with rtdm_irq_request in
/proc/interrupts, /proc/interrupts lists interrupts registered with
request_irq. An interrupt registered with rtdm_irq_request appears
in /proc/xenomai/irq.
Does exactly the same irq number work when requesting it with
request_irq ?
If no, then you may have made an error in the irq number: Linux irqs
are now remapped and the irq number passed to request_irq may not be
the same as the hardware irq number you would expect.
If yes, then are you running xenomai on an arm platform? If yes, we
have a very old bug which has been fixed only recently, normally,
requesting the irq both with request_irq and rtrm_irq_request should
avoid this bug.
--
Gilles.
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [Xenomai] rtdm_irq_request not registering irq
2015-02-16 9:25 ` Gilles Chanteperdrix
@ 2015-02-16 9:52 ` JAY KOTHARI
2015-02-16 10:01 ` Gilles Chanteperdrix
2015-02-17 17:33 ` Lennart Sorensen
1 sibling, 1 reply; 10+ messages in thread
From: JAY KOTHARI @ 2015-02-16 9:52 UTC (permalink / raw)
To: xenomai
I am using beaglebone black with Linux 3.8.13 and Xenomai 2.6.3. In
the original Linux driver (without RTDM driver) they are implementing
same irq_number for request_irq API. So I believe the same irq number
must work for rtdm_irq_request in my RTDM driver.
I looked into /proc/xenomai/irq my irq is shown registered but its not working.
How I use to request_irq and rtrm_irq_request together to solve this
approach?? Do you mean I request irq with both api??
Then how do I implement irq handler and get argument like
dev_id(request_irq) or void * arg(rtdm_irq_request)????
Jay Kothari
On 2/16/15, Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org> wrote:
> On Mon, Feb 16, 2015 at 10:28:51AM +0530, JAY KOTHARI wrote:
>> Hello,
>> I am requesting interrupt with rtdm_irq_request. API works
>> without error but not irq is not working. When I look into dmesg I get
>> back-trace of this API but no error. I even looked in /proc/interrupts
>> but no sign of registration. What might be wrong with this API for
>> me??
>
> You will not see an interrupt registered with rtdm_irq_request in
> /proc/interrupts, /proc/interrupts lists interrupts registered with
> request_irq. An interrupt registered with rtdm_irq_request appears
> in /proc/xenomai/irq.
>
> Does exactly the same irq number work when requesting it with
> request_irq ?
>
> If no, then you may have made an error in the irq number: Linux irqs
> are now remapped and the irq number passed to request_irq may not be
> the same as the hardware irq number you would expect.
>
> If yes, then are you running xenomai on an arm platform? If yes, we
> have a very old bug which has been fixed only recently, normally,
> requesting the irq both with request_irq and rtrm_irq_request should
> avoid this bug.
>
> --
> Gilles.
>
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [Xenomai] rtdm_irq_request not registering irq
2015-02-16 9:52 ` JAY KOTHARI
@ 2015-02-16 10:01 ` Gilles Chanteperdrix
2015-02-16 10:40 ` JAY KOTHARI
0 siblings, 1 reply; 10+ messages in thread
From: Gilles Chanteperdrix @ 2015-02-16 10:01 UTC (permalink / raw)
To: JAY KOTHARI; +Cc: xenomai
On Mon, Feb 16, 2015 at 03:22:07PM +0530, JAY KOTHARI wrote:
> I am using beaglebone black with Linux 3.8.13 and Xenomai 2.6.3.
There is no reason to use Xenomai 2.6.3, you should be using xenomai
2.6.4. Both releases are ABI compatible.
> In
> the original Linux driver (without RTDM driver) they are implementing
> same irq_number for request_irq API. So I believe the same irq number
> must work for rtdm_irq_request in my RTDM driver.
>
> I looked into /proc/xenomai/irq my irq is shown registered but its not working.
>
> How I use to request_irq and rtrm_irq_request together to solve this
> approach?? Do you mean I request irq with both api??
> Then how do I implement irq handler and get argument like
> dev_id(request_irq) or void * arg(rtdm_irq_request)????
Please, no top posting. No need for bazillions of question marks
either.
Yes, I mean request the irq with both API, pass a dummy handler to
request_irq, it will never be called anyway if the handler
registered with rtdm_irq_request do not return XN_ISR_PROPAGATE.
--
Gilles.
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [Xenomai] rtdm_irq_request not registering irq
2015-02-16 10:01 ` Gilles Chanteperdrix
@ 2015-02-16 10:40 ` JAY KOTHARI
2015-02-16 10:48 ` Gilles Chanteperdrix
0 siblings, 1 reply; 10+ messages in thread
From: JAY KOTHARI @ 2015-02-16 10:40 UTC (permalink / raw)
To: xenomai
On 2/16/15, Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org> wrote:
> On Mon, Feb 16, 2015 at 03:22:07PM +0530, JAY KOTHARI wrote:
>> I am using beaglebone black with Linux 3.8.13 and Xenomai 2.6.3.
>
> There is no reason to use Xenomai 2.6.3, you should be using xenomai
> 2.6.4. Both releases are ABI compatible.
>
>> In
>> the original Linux driver (without RTDM driver) they are implementing
>> same irq_number for request_irq API. So I believe the same irq number
>> must work for rtdm_irq_request in my RTDM driver.
>>
>> I looked into /proc/xenomai/irq my irq is shown registered but its not
>> working.
>>
>> How I use to request_irq and rtrm_irq_request together to solve this
>> approach?? Do you mean I request irq with both api??
>> Then how do I implement irq handler and get argument like
>> dev_id(request_irq) or void * arg(rtdm_irq_request)????
>
> Please, no top posting. No need for bazillions of question marks
> either.
>
Sorry for it.
> Yes, I mean request the irq with both API, pass a dummy handler to
> request_irq, it will never be called anyway if the handler
> registered with rtdm_irq_request do not return XN_ISR_PROPAGATE.
>
Again I have query about rtdm_irq_request. As my RTDM driver is not
getting interrupted then how will it go into handler of
rtdm_irq_request and return XN_ISR_PROPAGATE? Interrupt is registered
in /proc/xenomai/isr but not responding.
Thank you
Jay Kothari
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [Xenomai] rtdm_irq_request not registering irq
2015-02-16 10:40 ` JAY KOTHARI
@ 2015-02-16 10:48 ` Gilles Chanteperdrix
0 siblings, 0 replies; 10+ messages in thread
From: Gilles Chanteperdrix @ 2015-02-16 10:48 UTC (permalink / raw)
To: JAY KOTHARI; +Cc: xenomai
On Mon, Feb 16, 2015 at 04:10:56PM +0530, JAY KOTHARI wrote:
> On 2/16/15, Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org> wrote:
> > On Mon, Feb 16, 2015 at 03:22:07PM +0530, JAY KOTHARI wrote:
> >> I am using beaglebone black with Linux 3.8.13 and Xenomai 2.6.3.
> >
> > There is no reason to use Xenomai 2.6.3, you should be using xenomai
> > 2.6.4. Both releases are ABI compatible.
> >
> >> In
> >> the original Linux driver (without RTDM driver) they are implementing
> >> same irq_number for request_irq API. So I believe the same irq number
> >> must work for rtdm_irq_request in my RTDM driver.
> >>
> >> I looked into /proc/xenomai/irq my irq is shown registered but its not
> >> working.
> >>
> >> How I use to request_irq and rtrm_irq_request together to solve this
> >> approach?? Do you mean I request irq with both api??
> >> Then how do I implement irq handler and get argument like
> >> dev_id(request_irq) or void * arg(rtdm_irq_request)????
> >
> > Please, no top posting. No need for bazillions of question marks
> > either.
> >
> Sorry for it.
>
> > Yes, I mean request the irq with both API, pass a dummy handler to
> > request_irq, it will never be called anyway if the handler
> > registered with rtdm_irq_request do not return XN_ISR_PROPAGATE.
> >
>
> Again I have query about rtdm_irq_request. As my RTDM driver is not
> getting interrupted then how will it go into handler of
> rtdm_irq_request and return XN_ISR_PROPAGATE? Interrupt is registered
> in /proc/xenomai/isr but not responding.
You have misunderstood my answer. Please read it again.
--
Gilles.
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [Xenomai] rtdm_irq_request not registering irq
2015-02-16 9:25 ` Gilles Chanteperdrix
2015-02-16 9:52 ` JAY KOTHARI
@ 2015-02-17 17:33 ` Lennart Sorensen
2015-02-17 18:11 ` Gilles Chanteperdrix
1 sibling, 1 reply; 10+ messages in thread
From: Lennart Sorensen @ 2015-02-17 17:33 UTC (permalink / raw)
To: Gilles Chanteperdrix; +Cc: JAY KOTHARI, xenomai
On Mon, Feb 16, 2015 at 10:25:13AM +0100, Gilles Chanteperdrix wrote:
> On Mon, Feb 16, 2015 at 10:28:51AM +0530, JAY KOTHARI wrote:
> > Hello,
> > I am requesting interrupt with rtdm_irq_request. API works
> > without error but not irq is not working. When I look into dmesg I get
> > back-trace of this API but no error. I even looked in /proc/interrupts
> > but no sign of registration. What might be wrong with this API for
> > me??
>
> You will not see an interrupt registered with rtdm_irq_request in
> /proc/interrupts, /proc/interrupts lists interrupts registered with
> request_irq. An interrupt registered with rtdm_irq_request appears
> in /proc/xenomai/irq.
>
> Does exactly the same irq number work when requesting it with
> request_irq ?
>
> If no, then you may have made an error in the irq number: Linux irqs
> are now remapped and the irq number passed to request_irq may not be
> the same as the hardware irq number you would expect.
>
> If yes, then are you running xenomai on an arm platform? If yes, we
> have a very old bug which has been fixed only recently, normally,
> requesting the irq both with request_irq and rtrm_irq_request should
> avoid this bug.
Is there a git commit number for that fix? I am curious if that would
make some things work better for us.
--
Len Sorensen
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [Xenomai] rtdm_irq_request not registering irq
2015-02-17 17:33 ` Lennart Sorensen
@ 2015-02-17 18:11 ` Gilles Chanteperdrix
2015-02-17 18:19 ` Lennart Sorensen
0 siblings, 1 reply; 10+ messages in thread
From: Gilles Chanteperdrix @ 2015-02-17 18:11 UTC (permalink / raw)
To: Lennart Sorensen; +Cc: JAY KOTHARI, xenomai
On Tue, Feb 17, 2015 at 12:33:14PM -0500, Lennart Sorensen wrote:
> On Mon, Feb 16, 2015 at 10:25:13AM +0100, Gilles Chanteperdrix wrote:
> > On Mon, Feb 16, 2015 at 10:28:51AM +0530, JAY KOTHARI wrote:
> > > Hello,
> > > I am requesting interrupt with rtdm_irq_request. API works
> > > without error but not irq is not working. When I look into dmesg I get
> > > back-trace of this API but no error. I even looked in /proc/interrupts
> > > but no sign of registration. What might be wrong with this API for
> > > me??
> >
> > You will not see an interrupt registered with rtdm_irq_request in
> > /proc/interrupts, /proc/interrupts lists interrupts registered with
> > request_irq. An interrupt registered with rtdm_irq_request appears
> > in /proc/xenomai/irq.
> >
> > Does exactly the same irq number work when requesting it with
> > request_irq ?
> >
> > If no, then you may have made an error in the irq number: Linux irqs
> > are now remapped and the irq number passed to request_irq may not be
> > the same as the hardware irq number you would expect.
> >
> > If yes, then are you running xenomai on an arm platform? If yes, we
> > have a very old bug which has been fixed only recently, normally,
> > requesting the irq both with request_irq and rtrm_irq_request should
> > avoid this bug.
>
> Is there a git commit number for that fix? I am curious if that would
> make some things work better for us.
in 3.x
https://git.xenomai.org/xenomai-3.git/commit/?id=a8d0efffc57464b03e93e0d0f4308a34faed21c2
not yet fixed in 2.6 git.
And if your irq chip uses the irq_startup callback:
https://git.xenomai.org/ipipe.git/commit/?id=b3f0bfe5fb1ee0ae079e281b44e591745d1c6c61
--
Gilles.
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [Xenomai] rtdm_irq_request not registering irq
2015-02-17 18:11 ` Gilles Chanteperdrix
@ 2015-02-17 18:19 ` Lennart Sorensen
2015-02-20 12:46 ` JAY KOTHARI
0 siblings, 1 reply; 10+ messages in thread
From: Lennart Sorensen @ 2015-02-17 18:19 UTC (permalink / raw)
To: Gilles Chanteperdrix; +Cc: JAY KOTHARI, xenomai
On Tue, Feb 17, 2015 at 07:11:33PM +0100, Gilles Chanteperdrix wrote:
> in 3.x
>
> https://git.xenomai.org/xenomai-3.git/commit/?id=a8d0efffc57464b03e93e0d0f4308a34faed21c2
>
> not yet fixed in 2.6 git.
OK, so that's a surprisingly small change for that bug. I think it
makes sense.
> And if your irq chip uses the irq_startup callback:
>
> https://git.xenomai.org/ipipe.git/commit/?id=b3f0bfe5fb1ee0ae079e281b44e591745d1c6c61
Ok, I thought it might be related. Makes a lot of sense now. I always
thought it odd that request_irq seemed to be required in addition to the
realtime call. Nice to know why that was needed and that in the future
it won't be.
--
Len Sorensen
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [Xenomai] rtdm_irq_request not registering irq
2015-02-17 18:19 ` Lennart Sorensen
@ 2015-02-20 12:46 ` JAY KOTHARI
0 siblings, 0 replies; 10+ messages in thread
From: JAY KOTHARI @ 2015-02-20 12:46 UTC (permalink / raw)
To: xenomai
I am using devm_request_irq() with rtdm_irq_request , rtdm driver
is loading fine but when I call it with application,application gets
hanged on interrupt. The same driver when I register with
devm_request_irq() its working okay. What might occurred this hang?
As per suggestion I register a dummy handler of devm_request_irq()
which return IRQ_HANDLED while rtdm_irq_request does the main job for
my driver.
Jay Kothari
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2015-02-20 12:46 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-02-16 4:58 [Xenomai] rtdm_irq_request not registering irq JAY KOTHARI
2015-02-16 9:25 ` Gilles Chanteperdrix
2015-02-16 9:52 ` JAY KOTHARI
2015-02-16 10:01 ` Gilles Chanteperdrix
2015-02-16 10:40 ` JAY KOTHARI
2015-02-16 10:48 ` Gilles Chanteperdrix
2015-02-17 17:33 ` Lennart Sorensen
2015-02-17 18:11 ` Gilles Chanteperdrix
2015-02-17 18:19 ` Lennart Sorensen
2015-02-20 12:46 ` JAY KOTHARI
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.