All of lore.kernel.org
 help / color / mirror / Atom feed
* [Xenomai-core] MSI support in Xenomai
@ 2011-03-16 13:20 krishna m
  2011-03-16 13:26 ` Gilles Chanteperdrix
  0 siblings, 1 reply; 12+ messages in thread
From: krishna m @ 2011-03-16 13:20 UTC (permalink / raw)
  To: xenomai

[-- Attachment #1: Type: text/plain, Size: 399 bytes --]


Hi All,
I wanted to know if the latest Xenomai [Version xenomai-2.5.6] supports MSI interrupts. I am using the adeos Patch [version adeos-ipipe-2.6.37-x86-2.9-00] and corresponding Linux kernel [version: linux-2.6.37]. I have read in the Xenomai FAQ that MSI is not supported by the ipipe patch just wanted to know if the latest Xenomai and Ipipe supports MSI. 

thanks,
Krishna 
 		 	   		  

[-- Attachment #2: Type: text/html, Size: 606 bytes --]

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

* Re: [Xenomai-core] MSI support in Xenomai
  2011-03-16 13:20 [Xenomai-core] MSI support in Xenomai krishna m
@ 2011-03-16 13:26 ` Gilles Chanteperdrix
  2011-03-17  8:30   ` Jan Kiszka
  0 siblings, 1 reply; 12+ messages in thread
From: Gilles Chanteperdrix @ 2011-03-16 13:26 UTC (permalink / raw)
  To: krishna m; +Cc: xenomai

krishna m wrote:
> Hi All, I wanted to know if the latest Xenomai [Version
> xenomai-2.5.6] supports MSI interrupts. I am using the adeos Patch
> [version adeos-ipipe-2.6.37-x86-2.9-00] and corresponding Linux
> kernel [version: linux-2.6.37]. I have read in the Xenomai FAQ that
> MSI is not supported by the ipipe patch just wanted to know if the
> latest Xenomai and Ipipe supports MSI.

No.

-- 
					    Gilles.


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

* Re: [Xenomai-core] MSI support in Xenomai
  2011-03-16 13:26 ` Gilles Chanteperdrix
@ 2011-03-17  8:30   ` Jan Kiszka
  2011-03-21 12:48     ` krishna m
  0 siblings, 1 reply; 12+ messages in thread
From: Jan Kiszka @ 2011-03-17  8:30 UTC (permalink / raw)
  To: Gilles Chanteperdrix, krishna m; +Cc: xenomai

On 2011-03-16 14:26, Gilles Chanteperdrix wrote:
> krishna m wrote:
>> Hi All, I wanted to know if the latest Xenomai [Version
>> xenomai-2.5.6] supports MSI interrupts. I am using the adeos Patch
>> [version adeos-ipipe-2.6.37-x86-2.9-00] and corresponding Linux
>> kernel [version: linux-2.6.37]. I have read in the Xenomai FAQ that
>> MSI is not supported by the ipipe patch just wanted to know if the
>> latest Xenomai and Ipipe supports MSI.
> 
> No.

Strictly spoken, but it works in practice. See

http://thread.gmane.org/gmane.linux.real-time.xenomai.users/12135

Jan

-- 
Siemens AG, Corporate Technology, CT T DE IT 1
Corporate Competence Center Embedded Linux


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

* Re: [Xenomai-core] MSI support in Xenomai
  2011-03-17  8:30   ` Jan Kiszka
@ 2011-03-21 12:48     ` krishna m
  2011-03-22 12:13       ` Jan Kiszka
  0 siblings, 1 reply; 12+ messages in thread
From: krishna m @ 2011-03-21 12:48 UTC (permalink / raw)
  To: jan.kiszka, gilles.chanteperdrix, jan.kiszka; +Cc: xenomai

[-- Attachment #1: Type: text/plain, Size: 2262 bytes --]


> Date: Thu, 17 Mar 2011 09:30:37 +0100
> From: jan.kiszka@domain.hid
> To: gilles.chanteperdrix@xenomai.org krishnamurthyjs@domain.hid
> CC: xenomai@xenomai.org
> Subject: Re: MSI support in Xenomai
> 
> On 2011-03-16 14:26, Gilles Chanteperdrix wrote:
> > krishna m wrote:
> >> Hi All, I wanted to know if the latest Xenomai [Version
> >> xenomai-2.5.6] supports MSI interrupts. I am using the adeos Patch
> >> [version adeos-ipipe-2.6.37-x86-2.9-00] and corresponding Linux
> >> kernel [version: linux-2.6.37]. I have read in the Xenomai FAQ that
> >> MSI is not supported by the ipipe patch just wanted to know if the
> >> latest Xenomai and Ipipe supports MSI.
> > 
> > No.
> 
> Strictly spoken, but it works in practice. See
> 
> http://thread.gmane.org/gmane.linux.real-time.xenomai.users/12135
> 
> Jan
> 
> -- 
> Siemens AG, Corporate Technology, CT T DE IT 1
> Corporate Competence Center Embedded Linux
 
Hi Jan,

Thanks for the reply. I got the following info from you post and i had few questions related to this post:
 


>> - MSI[-X] usage for RTDM (ie. RT) drivers is basically fine as long as you avoid enabling/disabling from RT context (also used for quite a while here, no known issues under this restriction)
 
my question is are you mentioninig here that i must not be doing pci_enable_msi() and pci_disable_msi() inside the RTDM driver ? if not then where should these calls be done ? 
 
Right now i have ported my standerd linux driver for the PCIe card to RTDM drvier. This driver uses MSI. I am not enabeling or disabling MSI or IRQ any where in the driver while processing [i.e. in ISR or read/write]. I am enabeling MSI in the PCI Probe and disabeling it in the PCI remove functions. The problem i am facing is as soon as i get the First MSI interrupt the kernel oops and i get the following dump:Mar 21 21:08:34 barch kernel: BUG: unable to handle kernel paging request at 7f45402d
Mar 21 21:08:34 barch kernel: Oops: 0000 [#1] PREEMPT SMP 

 
 [note: The normal linux driver works with out any problem]. 
 
Please let me know your thoughts. Also is there an example PCIe RTDM driver using MSI that i can refer to understand more about this topic ?
 
thanks,
krishna 


 		 	   		  

[-- Attachment #2: Type: text/html, Size: 2822 bytes --]

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

* Re: [Xenomai-core] MSI support in Xenomai
  2011-03-21 12:48     ` krishna m
@ 2011-03-22 12:13       ` Jan Kiszka
  2011-03-22 15:55         ` krishna m
  0 siblings, 1 reply; 12+ messages in thread
From: Jan Kiszka @ 2011-03-22 12:13 UTC (permalink / raw)
  To: krishna m; +Cc: xenomai@xenomai.org

On 2011-03-21 13:48, krishna m wrote:
>  > Date: Thu, 17 Mar 2011 09:30:37 +0100
>  > From: jan.kiszka@domain.hid
>  > To: gilles.chanteperdrix@xenomai.org; krishnamurthyjs@domain.hid
>  > CC: xenomai@xenomai.org
>  > Subject: Re: MSI support in Xenomai
>  >
>  > On 2011-03-16 14:26, Gilles Chanteperdrix wrote:
>  > > krishna m wrote:
>  > >> Hi All, I wanted to know if the latest Xenomai [Version
>  > >> xenomai-2.5.6] supports MSI interrupts. I am using the adeos Patch
>  > >> [version adeos-ipipe-2.6.37-x86-2.9-00] and corresponding Linux
>  > >> kernel [version: linux-2.6.37]. I have read in the Xenomai FAQ that
>  > >> MSI is not supported by the ipipe patch just wanted to know if the
>  > >> latest Xenomai and Ipipe supports MSI.
>  > >
>  > > No.
>  >
>  > Strictly spoken, but it works in practice. See
>  >
>  > http://thread.gmane.org/gmane.linux.real-time.xenomai.users/12135
>  >
>  > Jan
>  >
>  > --
>  > Siemens AG, Corporate Technology, CT T DE IT 1
>  > Corporate Competence Center Embedded Linux
> 
> Hi Jan,
> 
> Thanks for the reply. I got the following info from you post and i had few 
> questions related to this post:
> 
> 
> 
>  >> - MSI[-X] usage for RTDM (ie. RT) drivers is basically fine as long as you 
> avoid enabling/disabling from RT context (also used for quite a while here, no 
> known issues under this restriction)
> 
> my question is are you mentioninig here that i must not be doing 
> pci_enable_msi() and pci_disable_msi() inside the RTDM driver ? if not then 
> where should these calls be done ?

pci_enable/disable_msi are initialization services that only need to be
executed over Linux context - also in RTDM drivers.

> 
> Right now i have ported my standerd linux driver for the PCIe card to RTDM 
> drvier. This driver uses MSI. I am not enabeling or disabling MSI or IRQ any 
> where in the driver while processing [i.e. in ISR or read/write]. I am enabeling 
> MSI in the PCI Probe and disabeling it in the PCI remove functions. The problem 
> i am facing is as soon as i get the First MSI interrupt the kernel oops and i 
> get the following dump:
> 
> |Mar 21 21:08:34 barch kernel: BUG: unable to handle kernel paging request at 7f45402d
> Mar 21 21:08:34 barch kernel: Oops: 0000 [#1] PREEMPT SMP
> |
> 

We would need the full backtrace to have at least a chance to help.

> 
> [note: The normal linux driver works with out any problem].
> 
> Please let me know your thoughts. Also is there an example PCIe RTDM driver 
> using MSI that i can refer to understand more about this topic ?

Check RTnet's IGB driver. It works with MSI-X interrupts on x86.

Jan

-- 
Siemens AG, Corporate Technology, CT T DE IT 1
Corporate Competence Center Embedded Linux


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

* Re: [Xenomai-core] MSI support in Xenomai
  2011-03-22 12:13       ` Jan Kiszka
@ 2011-03-22 15:55         ` krishna m
  2011-03-22 16:51           ` Jan Kiszka
  0 siblings, 1 reply; 12+ messages in thread
From: krishna m @ 2011-03-22 15:55 UTC (permalink / raw)
  To: jan.kiszka; +Cc: xenomai

[-- Attachment #1: Type: text/plain, Size: 6458 bytes --]


> Date: Tue, 22 Mar 2011 13:13:16 +0100
> From: jan.kiszka@domain.hid
> To: krishnamurthyjs@domain.hid
> CC: gilles.chanteperdrix@xenomai.org xenomai@xenomai.org
> Subject: Re: MSI support in Xenomai
> 
> On 2011-03-21 13:48, krishna m wrote:
> > > Date: Thu, 17 Mar 2011 09:30:37 +0100
> > > From: jan.kiszka@domain.hid
> > > To: gilles.chanteperdrix@xenomai.org krishnamurthyjs@domain.hid
> > > CC: xenomai@xenomai.org
> > > Subject: Re: MSI support in Xenomai
> > >
> > > On 2011-03-16 14:26, Gilles Chanteperdrix wrote:
> > > > krishna m wrote:
> > > >> Hi All, I wanted to know if the latest Xenomai [Version
> > > >> xenomai-2.5.6] supports MSI interrupts. I am using the adeos Patch
> > > >> [version adeos-ipipe-2.6.37-x86-2.9-00] and corresponding Linux
> > > >> kernel [version: linux-2.6.37]. I have read in the Xenomai FAQ that
> > > >> MSI is not supported by the ipipe patch just wanted to know if the
> > > >> latest Xenomai and Ipipe supports MSI.
> > > >
> > > > No.
> > >
> > > Strictly spoken, but it works in practice. See
> > >
> > > http://thread.gmane.org/gmane.linux.real-time.xenomai.users/12135
> > >
> > > Jan
> > >
> > > --
> > > Siemens AG, Corporate Technology, CT T DE IT 1
> > > Corporate Competence Center Embedded Linux
> > 
> > Hi Jan,
> > 
> > Thanks for the reply. I got the following info from you post and i had few 
> > questions related to this post:
> > 
> > 
> > 
> > >> - MSI[-X] usage for RTDM (ie. RT) drivers is basically fine as long as you 
> > avoid enabling/disabling from RT context (also used for quite a while here, no 
> > known issues under this restriction)
> > 
> > my question is are you mentioninig here that i must not be doing 
> > pci_enable_msi() and pci_disable_msi() inside the RTDM driver ? if not then 
> > where should these calls be done ?
> 
> pci_enable/disable_msi are initialization services that only need to be
> executed over Linux context - also in RTDM drivers.
> 
> > 
> > Right now i have ported my standerd linux driver for the PCIe card to RTDM 
> > drvier. This driver uses MSI. I am not enabeling or disabling MSI or IRQ any 
> > where in the driver while processing [i.e. in ISR or read/write]. I am enabeling 
> > MSI in the PCI Probe and disabeling it in the PCI remove functions. The problem 
> > i am facing is as soon as i get the First MSI interrupt the kernel oops and i 
> > get the following dump:
> > 
> > |Mar 21 21:08:34 barch kernel: BUG: unable to handle kernel paging request at 7f45402d
> > Mar 21 21:08:34 barch kernel: Oops: 0000 [#1] PREEMPT SMP
> > |
> > 
> 
> We would need the full backtrace to have at least a chance to help.
> 
> > 
> > [note: The normal linux driver works with out any problem].
> > 
> > Please let me know your thoughts. Also is there an example PCIe RTDM driver 
> > using MSI that i can refer to understand more about this topic ?
> 
> Check RTnet's IGB driver. It works with MSI-X interrupts on x86.
> 
> Jan
> 
> -- 
> Siemens AG, Corporate Technology, CT T DE IT 1
> Corporate Competence Center Embedded Linux
 
Hi Jan,
Thanks again for the reply. Here is the full backtrace:
 
Mar 22 21:12:47 localhost kernel: test_dev: Probe for device function=0
Mar 22 21:12:47 localhost kernel: test_dev 0000:15:00.0: found PCI INT A -> IRQ 10
Mar 22 21:12:47 localhost kernel: pci_bar = 0xfe000000 
Mar 22 21:12:47 localhost kernel: Xenomai: RTDM: RT open handler is deprecated, driver requires update.
Mar 22 21:12:47 localhost kernel: Xenomai: RTDM: RT close handler is deprecated, driver requires update.
Mar 22 21:12:47 localhost kernel: test_dev: IRQ 16 successfully assigned to the device.
Mar 22 21:12:47 localhost kernel: test_dev: Probe for device function=1
Mar 22 21:12:47 localhost kernel: test_dev: Successfully added test_dev Device Driver.
Mar 22 21:13:58 localhost kernel: BUG: unable to handle kernel paging request at d84050c0
Mar 22 21:13:58 localhost kernel: IP: [<c0468f84>] __ipipe_set_irq_pending+0x36/0x49
Mar 22 21:13:58 localhost kernel: *pde = 00000000 
Mar 22 21:13:58 localhost kernel: Oops: 0002 [#1] PREEMPT SMP 
Mar 22 21:13:58 localhost kernel: last sysfs file: /sys/devices/pci0000:00/0000:00:1a.0/0000:1f:00.0/0000:20:05.0/0000:2d:00.0/class
Mar 22 21:13:58 localhost kernel: Modules linked in: test_dev autofs4 hidp l2cap crc16 bluetooth sunrpc ip6t_REJECT xt_tcpudp ip6table_filter ip6_tables x_tables ipv6 snd soundcore sata_sil24 libata sd_mod scsi_mod ext3 jbd uhci_hcd ohci_hcd ehci_hcd [last unloaded: snd_page_alloc]
Mar 22 21:13:58 localhost kernel: 
Mar 22 21:13:58 localhost kernel: Pid: 2414, comm: ptg Not tainted 2.6.37_xenomai-2.5.6 #2 To be filled by O.E.M./To be filled by O.E.M.
Mar 22 21:13:58 localhost kernel: EIP: 0060:[<c0468f84>] EFLAGS: 00010207 CPU: 0
Mar 22 21:13:58 localhost kernel: EIP is at __ipipe_set_irq_pending+0x36/0x49
Mar 22 21:13:58 localhost kernel: EAX: 07ffffff EBX: ffffffff ECX: d74050c0 EDX: c08bc6c0
Mar 22 21:13:58 localhost kernel: ESI: c08bc640 EDI: ffffffc0 EBP: c08bc644 ESP: d69a9f8c
Mar 22 21:13:58 localhost kernel:  DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
Mar 22 21:13:58 localhost kernel: Process ptg (pid: 2414, ti=d69a8000 task=d6b2a920 task.ti=d69a8000)
Mar 22 21:13:58 localhost kernel: I-pipe domain Linux
Mar 22 21:13:58 localhost kernel: Stack:
Mar 22 21:13:58 localhost kernel:  ffffffff c0416272 d69a9fb4 00000000 c088f180 00000000 00000001 00000001
Mar 22 21:13:58 localhost kernel:  bfa2e138 c0402c69 00000000 00000000 88000000 00000001 00000001 bfa2e138
Mar 22 21:13:58 localhost kernel:  b781e000 0000007b 0000007b 00000000 00000000 ffffffd7 0804b20a 00000073
Mar 22 21:13:58 localhost kernel: Call Trace:
Mar 22 21:13:58 localhost kernel:  [<c0416272>] ? __ipipe_handle_irq+0xf4/0x212
Mar 22 21:13:58 localhost kernel:  [<c0402c69>] ? common_interrupt+0x29/0x38
Mar 22 21:13:58 localhost kernel: Code: e0 b3 82 c0 01 d1 69 10 a0 09 00 00 01 d1 9c 5a 89 da c1 e2 06 8d 94 02 c0 00 00 00 8b 02 a8 20 75 0f 0f ab 59 08 89 d8 c1 e8 05 <0f> ab 41 04 eb 04 0f ab 59 50 ff 84 99 98 00 00 00 5b c3 57 56 
Mar 22 21:13:58 localhost kernel: EIP: [<c0468f84>] __ipipe_set_irq_pending+0x36/0x49 SS:ESP 0068:d69a9f8c
Mar 22 21:13:58 localhost kernel: CR2: 00000000d84050c0
Mar 22 21:13:58 localhost kernel: ---[ end trace 872caaf8551a0ced ]---
 
Please let me know your inputs.
 
thanks,
krishna 

  		 	   		  

[-- Attachment #2: Type: text/html, Size: 7575 bytes --]

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

* Re: [Xenomai-core] MSI support in Xenomai
  2011-03-22 15:55         ` krishna m
@ 2011-03-22 16:51           ` Jan Kiszka
  2011-03-22 17:03             ` Gilles Chanteperdrix
  0 siblings, 1 reply; 12+ messages in thread
From: Jan Kiszka @ 2011-03-22 16:51 UTC (permalink / raw)
  To: krishna m; +Cc: xenomai@xenomai.org

On 2011-03-22 16:55, krishna m wrote:
>  > Date: Tue, 22 Mar 2011 13:13:16 +0100
>  > From: jan.kiszka@domain.hid
>  > To: krishnamurthyjs@domain.hid
>  > CC: gilles.chanteperdrix@xenomai.org; xenomai@xenomai.org
>  > Subject: Re: MSI support in Xenomai
>  >
>  > On 2011-03-21 13:48, krishna m wrote:
>  > > > Date: Thu, 17 Mar 2011 09:30:37 +0100
>  > > > From: jan.kiszka@domain.hid
>  > > > To: gilles.chanteperdrix@xenomai.org; krishnamurthyjs@domain.hid
>  > > > CC: xenomai@xenomai.org
>  > > > Subject: Re: MSI support in Xenomai
>  > > >
>  > > > On 2011-03-16 14:26, Gilles Chanteperdrix wrote:
>  > > > > krishna m wrote:
>  > > > >> Hi All, I wanted to know if the latest Xenomai [Version
>  > > > >> xenomai-2.5.6] supports MSI interrupts. I am using the adeos Patch
>  > > > >> [version adeos-ipipe-2.6.37-x86-2.9-00] and corresponding Linux
>  > > > >> kernel [version: linux-2.6.37]. I have read in the Xenomai FAQ that
>  > > > >> MSI is not supported by the ipipe patch just wanted to know if the
>  > > > >> latest Xenomai and Ipipe supports MSI.
>  > > > >
>  > > > > No.
>  > > >
>  > > > Strictly spoken, but it works in practice. See
>  > > >
>  > > > http://thread.gmane.org/gmane.linux.real-time.xenomai.users/12135
>  > > >
>  > > > Jan
>  > > >
>  > > > --
>  > > > Siemens AG, Corporate Technology, CT T DE IT 1
>  > > > Corporate Competence Center Embedded Linux
>  > >
>  > > Hi Jan,
>  > >
>  > > Thanks for the reply. I got the following info from you post and i had few
>  > > questions related to this post:
>  > >
>  > >
>  > >
>  > > >> - MSI[-X] usage for RTDM (ie. RT) drivers is basically fine as long as you
>  > > avoid enabling/disabling from RT context (also used for quite a while here, no
>  > > known issues under this restriction)
>  > >
>  > > my question is are you mentioninig here that i must not be doing
>  > > pci_enable_msi() and pci_disable_msi() inside the RTDM driver ? if not then
>  > > where should these calls be done ?
>  >
>  > pci_enable/disable_msi are initialization services that only need to be
>  > executed over Linux context - also in RTDM drivers.
>  >
>  > >
>  > > Right now i have ported my standerd linux driver for the PCIe card to RTDM
>  > > drvier. This driver uses MSI. I am not enabeling or disabling MSI or IRQ any
>  > > where in the driver while processing [i.e. in ISR or read/write]. I am 
> enabeling
>  > > MSI in the PCI Probe and disabeling it in the PCI remove functions. The 
> problem
>  > > i am facing is as soon as i get the First MSI interrupt the kernel oops and i
>  > > get the following dump:
>  > >
>  > > |Mar 21 21:08:34 barch kernel: BUG: unable to handle kernel paging request 
> at 7f45402d
>  > > Mar 21 21:08:34 barch kernel: Oops: 0000 [#1] PREEMPT SMP
>  > > |
>  > >
>  >
>  > We would need the full backtrace to have at least a chance to help.
>  >
>  > >
>  > > [note: The normal linux driver works with out any problem].
>  > >
>  > > Please let me know your thoughts. Also is there an example PCIe RTDM driver
>  > > using MSI that i can refer to understand more about this topic ?
>  >
>  > Check RTnet's IGB driver. It works with MSI-X interrupts on x86.
>  >
>  > Jan
>  >
>  > --
>  > Siemens AG, Corporate Technology, CT T DE IT 1
>  > Corporate Competence Center Embedded Linux
> 
> Hi Jan,
> Thanks again for the reply. Here is the full backtrace:
> 
> Mar 22 21:12:47 localhost kernel: test_dev: Probe for device function=0
> Mar 22 21:12:47 localhost kernel: test_dev 0000:15:00.0: found PCI INT A -> IRQ 10

Here you get IRQ 10...

> Mar 22 21:12:47 localhost kernel: pci_bar = 0xfe000000
> Mar 22 21:12:47 localhost kernel: Xenomai: RTDM: RT open handler is deprecated, 
> driver requires update.
> Mar 22 21:12:47 localhost kernel: Xenomai: RTDM: RT close handler is deprecated, 
> driver requires update.

[ These messages also have a meaning, though unrelated to the crash. ]

> Mar 22 21:12:47 localhost kernel: test_dev: IRQ 16 successfully assigned to the 
> device.

...but here IRQ 16 is assigned. Broken output or a real inconsistency?

Also, where is the MSI? You should see log messages about MSI/MSI-X IRQ
number assignment when properly enabling the support at PCI level.

Jan

-- 
Siemens AG, Corporate Technology, CT T DE IT 1
Corporate Competence Center Embedded Linux


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

* Re: [Xenomai-core] MSI support in Xenomai
  2011-03-22 16:51           ` Jan Kiszka
@ 2011-03-22 17:03             ` Gilles Chanteperdrix
  2011-03-22 18:20               ` krishna m
  0 siblings, 1 reply; 12+ messages in thread
From: Gilles Chanteperdrix @ 2011-03-22 17:03 UTC (permalink / raw)
  To: Jan Kiszka; +Cc: xenomai@xenomai.org

Jan Kiszka wrote:
> On 2011-03-22 16:55, krishna m wrote:

>> Mar 22 21:12:47 localhost kernel: test_dev: Probe for device function=0
>> Mar 22 21:12:47 localhost kernel: test_dev 0000:15:00.0: found PCI INT A -> IRQ 10
> 
> Here you get IRQ 10...
> 
>> Mar 22 21:12:47 localhost kernel: pci_bar = 0xfe000000
>> Mar 22 21:12:47 localhost kernel: Xenomai: RTDM: RT open handler is deprecated, 
>> driver requires update.
>> Mar 22 21:12:47 localhost kernel: Xenomai: RTDM: RT close handler is deprecated, 
>> driver requires update.
> 
> [ These messages also have a meaning, though unrelated to the crash. ]
> 
>> Mar 22 21:12:47 localhost kernel: test_dev: IRQ 16 successfully assigned to the 
>> device.
> 
> ...but here IRQ 16 is assigned. Broken output or a real inconsistency?
> 
> Also, where is the MSI? You should see log messages about MSI/MSI-X IRQ
> number assignment when properly enabling the support at PCI level.

Maybe pci_enable_msi was called after request_irq ?


-- 
					    Gilles.


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

* Re: [Xenomai-core] MSI support in Xenomai
  2011-03-22 17:03             ` Gilles Chanteperdrix
@ 2011-03-22 18:20               ` krishna m
  2011-03-25 12:21                 ` krishna m
  0 siblings, 1 reply; 12+ messages in thread
From: krishna m @ 2011-03-22 18:20 UTC (permalink / raw)
  To: gilles.chanteperdrix, jan.kiszka; +Cc: xenomai

[-- Attachment #1: Type: text/plain, Size: 3938 bytes --]


> Date: Tue, 22 Mar 2011 18:03:43 +0100
> From: gilles.chanteperdrix@xenomai.org
> To: jan.kiszka@domain.hid
> CC: krishnamurthyjs@domain.hid xenomai@xenomai.org
> Subject: Re: MSI support in Xenomai
> 
> Jan Kiszka wrote:
> > On 2011-03-22 16:55, krishna m wrote:
> 
> >> Mar 22 21:12:47 localhost kernel: test_dev: Probe for device function=0
> >> Mar 22 21:12:47 localhost kernel: test_dev 0000:15:00.0: found PCI INT A -> IRQ 10
> > 
> > Here you get IRQ 10...
> > 
> >> Mar 22 21:12:47 localhost kernel: pci_bar = 0xfe000000
> >> Mar 22 21:12:47 localhost kernel: Xenomai: RTDM: RT open handler is deprecated, 
> >> driver requires update.
> >> Mar 22 21:12:47 localhost kernel: Xenomai: RTDM: RT close handler is deprecated, 
> >> driver requires update.
> > 
> > [ These messages also have a meaning, though unrelated to the crash. ]
> > 
> >> Mar 22 21:12:47 localhost kernel: test_dev: IRQ 16 successfully assigned to the 
> >> device.
> > 
> > ...but here IRQ 16 is assigned. Broken output or a real inconsistency?
> > 
> > Also, where is the MSI? You should see log messages about MSI/MSI-X IRQ
> > number assignment when properly enabling the support at PCI level.
> 
> Maybe pci_enable_msi was called after request_irq ?
> 
> 
> -- 
> Gilles.
 
Just check my code:
i do enable MSI  (pci_enable_msi) before rtdm_irq_request pasted the code below part of my PCI probe function in the device driver:
 
......
rtdm_dev = kmalloc(sizeof(struct rtdm_device), GFP_KERNEL);
  if(!rtdm_dev) {
   printk(KERN_WARNING "RUBICON: kmalloc failed\n");
   ret = -ENOMEM; //Insufficient storage space is available.
   goto fail_pci;
  }

  //copy the structure to the new memory
  memcpy(rtdm_dev, &rubicon_rtdm_driver, sizeof(struct rtdm_device));

  //create filename
  snprintf(rtdm_dev->device_name,
           RTDM_MAX_DEVNAME_LEN, "rtser%d", 0 /*i*/);
  rtdm_dev->device_id = 0; //i;

  //define two other members of the rtdm_device structure
  rtdm_dev->proc_name = rtdm_dev->device_name;
 
  ret = rtdm_dev_register(rtdm_dev);
  if(ret < 0) {
   printk(KERN_WARNING"RUBICON: cannot register device\n");
   goto fail_pci;
  }
  g_rubicon_context.xen_device = rtdm_dev;
 
  ret = pci_enable_msi(dev);
  if(ret) {
   printk("RUBICON: Enabling MSI failed wuth error code: 0x%x\n", ret);
   goto fail_pci;
  }

  g_rubicon_context.irq = dev->irq; /* save the allocated IRQ */
  g_rubicon_context.dev = dev; /* Save the PCI queue h/w device ctx */
  dev_set_drvdata(dev,(void *) &(g_rubicon_context));
  /* request the irq for the device */
  ret = rtdm_irq_request(&g_rubicon_context.irq_handle,
                         g_rubicon_context.irq,
                         rubicon_irq_handler,
                         RTDM_IRQTYPE_SHARED,
                         "rubicon",
                         (void *)&g_rubicon_context);
....
 
>From IRQ number perspective:
Mar 22 21:12:47 localhost kernel: test_dev 0000:15:00.0: found PCI INT A -> IRQ 10  >>>> is the print from the Kernel PCI Probe and 
Mar 22 21:12:47 localhost kernel: test_dev: IRQ 16 successfully assigned >>>>>> is my Print after enabling MSI and registering for irq.
 
I get the similar print with the Plain Linux kernel with the IRQ being assigned MSI enabled is irq 20. [Below i have pasted the kernel log of plain linux kernel]. I have tested the MSI interrupts and they work fine. 
Mar 22 23:47:49 localhost kernel: test_dev: Probe for device function=0
Mar 22 23:47:49 localhost kernel: test_dev 0000:15:00.0: found PCI INT A -> IRQ 10
Mar 22 23:47:49 localhost kernel: pci_bar = 0xfe000000 
Mar 22 23:47:49 localhost kernel: test_dev: IRQ 20 successfully assigned to the device.
Mar 22 23:47:49 localhost kernel: test_dev: Probe for device function=1
Mar 22 23:47:49 localhost kernel: test_dev: Successfully added test_dev Device Driver.

thanks
-krishna 
  		 	   		  

[-- Attachment #2: Type: text/html, Size: 6489 bytes --]

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

* Re: [Xenomai-core] MSI support in Xenomai
  2011-03-22 18:20               ` krishna m
@ 2011-03-25 12:21                 ` krishna m
  2011-03-29 13:07                   ` krishna m
  0 siblings, 1 reply; 12+ messages in thread
From: krishna m @ 2011-03-25 12:21 UTC (permalink / raw)
  To: gilles.chanteperdrix, jan.kiszka; +Cc: xenomai

[-- Attachment #1: Type: text/plain, Size: 5043 bytes --]


 

From: krishnamurthyjs@domain.hid
To: gilles.chanteperdrix@xenomai.org jan.kiszka@domain.hid
Date: Tue, 22 Mar 2011 23:50:27 +0530
CC: xenomai@xenomai.org
Subject: Re: [Xenomai-core] MSI support in Xenomai




> Date: Tue, 22 Mar 2011 18:03:43 +0100
> From: gilles.chanteperdrix@xenomai.org
> To: jan.kiszka@domain.hid
> CC: krishnamurthyjs@domain.hid xenomai@xenomai.org
> Subject: Re: MSI support in Xenomai
> 
> Jan Kiszka wrote:
> > On 2011-03-22 16:55, krishna m wrote:
> 
> >> Mar 22 21:12:47 localhost kernel: test_dev: Probe for device function=0
> >> Mar 22 21:12:47 localhost kernel: test_dev 0000:15:00.0: found PCI INT A -> IRQ 10
> > 
> > Here you get IRQ 10...
> > 
> >> Mar 22 21:12:47 localhost kernel: pci_bar = 0xfe000000
> >> Mar 22 21:12:47 localhost kernel: Xenomai: RTDM: RT open handler is deprecated, 
> >> driver requires update.
> >> Mar 22 21:12:47 localhost kernel: Xenomai: RTDM: RT close handler is deprecated, 
> >> driver requires update.
> > 
> > [ These messages also have a meaning, though unrelated to the crash. ]
> > 
> >> Mar 22 21:12:47 localhost kernel: test_dev: IRQ 16 successfully assigned to the 
> >> device.
> > 
> > ...but here IRQ 16 is assigned. Broken output or a real inconsistency?
> > 
> > Also, where is the MSI? You should see log messages about MSI/MSI-X IRQ
> > number assignment when properly enabling the support at PCI level.
> 
> Maybe pci_enable_msi was called after request_irq ?
> 
> 
> -- 
> Gilles.
 
Just check my code:
i do enable MSI  (pci_enable_msi) before rtdm_irq_request pasted the code below part of my PCI probe function in the device driver:
 
......
rtdm_dev = kmalloc(sizeof(struct rtdm_device), GFP_KERNEL);
  if(!rtdm_dev) {
   printk(KERN_WARNING "RUBICON: kmalloc failed\n");
   ret = -ENOMEM; //Insufficient storage space is available.
   goto fail_pci;
  }

  //copy the structure to the new memory
  memcpy(rtdm_dev, &rubicon_rtdm_driver, sizeof(struct rtdm_device));

  //create filename
  snprintf(rtdm_dev->device_name,
           RTDM_MAX_DEVNAME_LEN, "rtser%d", 0 /*i*/);
  rtdm_dev->device_id = 0; //i;

  //define two other members of the rtdm_device structure
  rtdm_dev->proc_name = rtdm_dev->device_name;
 
  ret = rtdm_dev_register(rtdm_dev);
  if(ret < 0) {
   printk(KERN_WARNING"RUBICON: cannot register device\n");
   goto fail_pci;
  }
  g_rubicon_context.xen_device = rtdm_dev;
 
  ret = pci_enable_msi(dev);
  if(ret) {
   printk("RUBICON: Enabling MSI failed wuth error code: 0x%x\n", ret);
   goto fail_pci;
  }

  g_rubicon_context.irq = dev->irq; /* save the allocated IRQ */
  g_rubicon_context.dev = dev; /* Save the PCI queue h/w device ctx */
  dev_set_drvdata(dev,(void *) &(g_rubicon_context));
  /* request the irq for the device */
  ret = rtdm_irq_request(&g_rubicon_context.irq_handle,
                         g_rubicon_context.irq,
                         rubicon_irq_handler,
                         RTDM_IRQTYPE_SHARED,
                         "rubicon",
                         (void *)&g_rubicon_context);
....
 
>From IRQ number perspective:
Mar 22 21:12:47 localhost kernel: test_dev 0000:15:00.0: found PCI INT A -> IRQ 10  >>>> is the print from the Kernel PCI Probe and 
Mar 22 21:12:47 localhost kernel: test_dev: IRQ 16 successfully assigned >>>>>> is my Print after enabling MSI and registering for irq.
 
I get the similar print with the Plain Linux kernel with the IRQ being assigned MSI enabled is irq 20. [Below i have pasted the kernel log of plain linux kernel]. I have tested the MSI interrupts and they work fine. 
Mar 22 23:47:49 localhost kernel: test_dev: Probe for device function=0
Mar 22 23:47:49 localhost kernel: test_dev 0000:15:00.0: found PCI INT A -> IRQ 10
Mar 22 23:47:49 localhost kernel: pci_bar = 0xfe000000 
Mar 22 23:47:49 localhost kernel: test_dev: IRQ 20 successfully assigned to the device.
Mar 22 23:47:49 localhost kernel: test_dev: Probe for device function=1
Mar 22 23:47:49 localhost kernel: test_dev: Successfully added test_dev Device Driver.
 
Just wanted to add 3 more questions:
1. Which versions of Linux, Adeos patch and xenomai are tested for stable MSI functionality ? Please let me know.
2. I am using the Xenomai Version linux-2.6.37, xenomai-2.5.6 and adeos-ipipe-2.6.37-x86-2.9-00. Is this combination fine ?
3. I looked at the /proc/interrupts and with out xenomai loaded [i.e. default linux kernel] I see my card beaing assigned MSI-EDGE interrupt and with xenomai kernel i don't see the entry in the /proc/interrupts but in /proc/xenomai/irq i see this entry 
IRQ           CPU0   
16:              0       test_drv
521:             0       [IPI]
524:        869467       [timer]
525:             0       [critical sync]
546:             0       [virtual]

thanks
-krishna 
 

_______________________________________________ Xenomai-core mailing list Xenomai-core@domain.hid https://mail.gna.org/listinfo/xenomai-core 		 	   		  

[-- Attachment #2: Type: text/html, Size: 8957 bytes --]

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

* Re: [Xenomai-core] MSI support in Xenomai
  2011-03-25 12:21                 ` krishna m
@ 2011-03-29 13:07                   ` krishna m
  2011-03-29 13:47                     ` Gilles Chanteperdrix
  0 siblings, 1 reply; 12+ messages in thread
From: krishna m @ 2011-03-29 13:07 UTC (permalink / raw)
  To: gilles.chanteperdrix, jan.kiszka; +Cc: xenomai

[-- Attachment #1: Type: text/plain, Size: 5369 bytes --]


rom: krishnamurthyjs@domain.hid
To: gilles.chanteperdrix@xenomai.org jan.kiszka@domain.hid
CC: xenomai@xenomai.org
Subject: RE: [Xenomai-core] MSI support in Xenomai
Date: Fri, 25 Mar 2011 17:51:06 +0530




 
From: krishnamurthyjs@domain.hid
To: gilles.chanteperdrix@xenomai.org jan.kiszka@domain.hid
Date: Tue, 22 Mar 2011 23:50:27 +0530
CC: xenomai@xenomai.org
Subject: Re: [Xenomai-core] MSI support in Xenomai



> Date: Tue, 22 Mar 2011 18:03:43 +0100
> From: gilles.chanteperdrix@xenomai.org
> To: jan.kiszka@domain.hid
> CC: krishnamurthyjs@domain.hid xenomai@xenomai.org
> Subject: Re: MSI support in Xenomai
> 
> Jan Kiszka wrote:
> > On 2011-03-22 16:55, krishna m wrote:
> 
> >> Mar 22 21:12:47 localhost kernel: test_dev: Probe for device function=0
> >> Mar 22 21:12:47 localhost kernel: test_dev 0000:15:00.0: found PCI INT A -> IRQ 10
> > 
> > Here you get IRQ 10...
> > 
> >> Mar 22 21:12:47 localhost kernel: pci_bar = 0xfe000000
> >> Mar 22 21:12:47 localhost kernel: Xenomai: RTDM: RT open handler is deprecated, 
> >> driver requires update.
> >> Mar 22 21:12:47 localhost kernel: Xenomai: RTDM: RT close handler is deprecated, 
> >> driver requires update.
> > 
> > [ These messages also have a meaning, though unrelated to the crash. ]
> > 
> >> Mar 22 21:12:47 localhost kernel: test_dev: IRQ 16 successfully assigned to the 
> >> device.
> > 
> > ...but here IRQ 16 is assigned. Broken output or a real inconsistency?
> > 
> > Also, where is the MSI? You should see log messages about MSI/MSI-X IRQ
> > number assignment when properly enabling the support at PCI level.
> 
> Maybe pci_enable_msi was called after request_irq ?
> 
> 
> -- 
> Gilles.
 
Just check my code:
i do enable MSI  (pci_enable_msi) before rtdm_irq_request pasted the code below part of my PCI probe function in the device driver:
 
......
rtdm_dev = kmalloc(sizeof(struct rtdm_device), GFP_KERNEL);
  if(!rtdm_dev) {
   printk(KERN_WARNING "RUBICON: kmalloc failed\n");
   ret = -ENOMEM; //Insufficient storage space is available.
   goto fail_pci;
  }

  //copy the structure to the new memory
  memcpy(rtdm_dev, &rubicon_rtdm_driver, sizeof(struct rtdm_device));

  //create filename
  snprintf(rtdm_dev->device_name,
           RTDM_MAX_DEVNAME_LEN, "rtser%d", 0 /*i*/);
  rtdm_dev->device_id = 0; //i;

  //define two other members of the rtdm_device structure
  rtdm_dev->proc_name = rtdm_dev->device_name;
 
  ret = rtdm_dev_register(rtdm_dev);
  if(ret < 0) {
   printk(KERN_WARNING"RUBICON: cannot register device\n");
   goto fail_pci;
  }
  g_rubicon_context.xen_device = rtdm_dev;
 
  ret = pci_enable_msi(dev);
  if(ret) {
   printk("RUBICON: Enabling MSI failed wuth error code: 0x%x\n", ret);
   goto fail_pci;
  }

  g_rubicon_context.irq = dev->irq; /* save the allocated IRQ */
  g_rubicon_context.dev = dev; /* Save the PCI queue h/w device ctx */
  dev_set_drvdata(dev,(void *) &(g_rubicon_context));
  /* request the irq for the device */
  ret = rtdm_irq_request(&g_rubicon_context.irq_handle,
                         g_rubicon_context.irq,
                         rubicon_irq_handler,
                         RTDM_IRQTYPE_SHARED,
                         "rubicon",
                         (void *)&g_rubicon_context);
....
 
>From IRQ number perspective:
Mar 22 21:12:47 localhost kernel: test_dev 0000:15:00.0: found PCI INT A -> IRQ 10  >>>> is the print from the Kernel PCI Probe and 
Mar 22 21:12:47 localhost kernel: test_dev: IRQ 16 successfully assigned >>>>>> is my Print after enabling MSI and registering for irq.
 
I get the similar print with the Plain Linux kernel with the IRQ being assigned MSI enabled is irq 20. [Below i have pasted the kernel log of plain linux kernel]. I have tested the MSI interrupts and they work fine. 
Mar 22 23:47:49 localhost kernel: test_dev: Probe for device function=0
Mar 22 23:47:49 localhost kernel: test_dev 0000:15:00.0: found PCI INT A -> IRQ 10
Mar 22 23:47:49 localhost kernel: pci_bar = 0xfe000000 
Mar 22 23:47:49 localhost kernel: test_dev: IRQ 20 successfully assigned to the device.
Mar 22 23:47:49 localhost kernel: test_dev: Probe for device function=1
Mar 22 23:47:49 localhost kernel: test_dev: Successfully added test_dev Device Driver.
 
Just wanted to add 3 more questions:
1. Which versions of Linux, Adeos patch and xenomai are tested for stable MSI functionality ? Please let me know.
2. I am using the Xenomai Version linux-2.6.37, xenomai-2.5.6 and adeos-ipipe-2.6.37-x86-2.9-00. Is this combination fine ?
3. I looked at the /proc/interrupts and with out xenomai loaded [i.e. default linux kernel] I see my card beaing assigned MSI-EDGE interrupt and with xenomai kernel i don't see the entry in the /proc/interrupts but in /proc/xenomai/irq i see this entry 
IRQ           CPU0   
16:              0       test_drv
521:             0       [IPI]
524:        869467       [timer]
525:             0       [critical sync]
546:             0       [virtual]
 
Hi Jan and Chanteperdrix,
Any thoughts or inputs on my updates of MSI not working ?
 
Thanks and Regards,
Krishna 
 
 
 
 

_______________________________________________ Xenomai-core mailing list Xenomai-core@domain.hid https://mail.gna.org/listinfo/xenomai-core
 		 	   		  

[-- Attachment #2: Type: text/html, Size: 9683 bytes --]

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

* Re: [Xenomai-core] MSI support in Xenomai
  2011-03-29 13:07                   ` krishna m
@ 2011-03-29 13:47                     ` Gilles Chanteperdrix
  0 siblings, 0 replies; 12+ messages in thread
From: Gilles Chanteperdrix @ 2011-03-29 13:47 UTC (permalink / raw)
  To: krishna m; +Cc: jan.kiszka, xenomai

krishna m wrote:
> Just wanted to add 3 more questions:
> 1. Which versions of Linux, Adeos patch and xenomai are tested for stable MSI functionality ? Please let me know.
> 2. I am using the Xenomai Version linux-2.6.37, xenomai-2.5.6 and adeos-ipipe-2.6.37-x86-2.9-00. Is this combination fine ?
> 3. I looked at the /proc/interrupts and with out xenomai loaded [i.e. default linux kernel] I see my card beaing assigned MSI-EDGE interrupt and with xenomai kernel i don't see the entry in the /proc/interrupts but in /proc/xenomai/irq i see this entry 
> IRQ           CPU0   
> 16:              0       test_drv
> 521:             0       [IPI]
> 524:        869467       [timer]
> 525:             0       [critical sync]
> 546:             0       [virtual]
>  
> Hi Jan and Chanteperdrix,
> Any thoughts or inputs on my updates of MSI not working ?

Ok. Since you are asking me directly I am going to answer:
my point of view is, as I already told you, that MSI are not supported,
so still from my point of view the answer to question 1 is: "none"

Question 2 is yes, it is fine, but since MSI is not supported, it is not
supposed to work.

Answer to question 3 is that /proc/interrupts shows the interrupts
registered with request_irq whereas /proc/xenomai/irq shows the
interrupts which have been registered by xnintr_init, which
rtdm_request_irq uses. So, this is not the same code, the two files do
not have the same layout.

The reason why I did not answer is that Jan probably has a different
point of view for question 1, so, I let him answer you. But as far as I
know, Jan asked you some questions, in answer to your last post, to
which you did not answer.

-- 
					    Gilles.


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

end of thread, other threads:[~2011-03-29 13:47 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-03-16 13:20 [Xenomai-core] MSI support in Xenomai krishna m
2011-03-16 13:26 ` Gilles Chanteperdrix
2011-03-17  8:30   ` Jan Kiszka
2011-03-21 12:48     ` krishna m
2011-03-22 12:13       ` Jan Kiszka
2011-03-22 15:55         ` krishna m
2011-03-22 16:51           ` Jan Kiszka
2011-03-22 17:03             ` Gilles Chanteperdrix
2011-03-22 18:20               ` krishna m
2011-03-25 12:21                 ` krishna m
2011-03-29 13:07                   ` krishna m
2011-03-29 13:47                     ` Gilles Chanteperdrix

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.