All of lore.kernel.org
 help / color / mirror / Atom feed
* [Xenomai-core] Handling PCI MSI interrupts
@ 2006-02-14 15:44 Jeroen Van den Keybus
  2006-02-14 17:50 ` Philippe Gerum
  0 siblings, 1 reply; 31+ messages in thread
From: Jeroen Van den Keybus @ 2006-02-14 15:44 UTC (permalink / raw)
  To: xenomai-core

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

I'm having problems using MSI interrupts in Xenomai.

When using normal PCI interrupts, my PCI card + RTDM driver work flawlessly.
However, I noticed the following while trying to enable MSI (by having Linux
do all the administrative register-fill-ins using pci_enable_msi()):

1. The kernel is compiled for MSI. (PCI_CONFIG_MSI=yes)
2. My card correctly advertises the MSI capability (checked with 'lspci
-v').
3. I do get a new IRQ number in the pci_dev struct (217 instead of 193)
after invoking pci_enable_msi().
4. After pci_enable_smi(), 'lspci -v' correctly indicates that Message
Signalled Interrupts are now enabled (Enable+).
5. I can register the new IRQ with rtdm_request_irq(). Return value is 0.
6. The IRQ number appears in /proc/xenomai/irq.
7. I can enable the new IRQ with rtdm_irq_enable(). Return value is 0.
8. I can disable the new IRQ with rtdm_irq_disable(). Return value is 0.
9. I can unregister the new IRQ with rtdm_irq_free(). Return value is 0.
10. I'm able to do pci_disable_pci() successfully.

If I actually enable the card interrupt, it goes wrong after 7 after arrival
of the first interrupt. The ISR is executed (checked that), which checks if
the card was actually interrupting and, if so, returns with RTDM_IRQ_ENABLE.
After that, the machine is absolutely dead (frozen).

Any hints, suggestions or things I may check ?

Jeroen.

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

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

end of thread, other threads:[~2006-02-19 18:50 UTC | newest]

Thread overview: 31+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-02-14 15:44 [Xenomai-core] Handling PCI MSI interrupts Jeroen Van den Keybus
2006-02-14 17:50 ` Philippe Gerum
2006-02-14 18:07   ` Jeroen Van den Keybus
2006-02-14 18:17     ` Jan Kiszka
2006-02-14 18:26       ` Philippe Gerum
2006-02-14 18:52         ` Jeroen Van den Keybus
2006-02-14 19:22           ` Jeroen Van den Keybus
2006-02-14 19:33           ` Jeroen Van den Keybus
2006-02-14 21:41             ` Jeroen Van den Keybus
2006-02-14 21:56               ` Philippe Gerum
2006-02-15 11:00                 ` Jeroen Van den Keybus
2006-02-15 18:02                   ` Jeroen Van den Keybus
2006-02-15 18:34                     ` Jeroen Van den Keybus
2006-02-15 20:09                       ` Philippe Gerum
2006-02-15 20:50                         ` Jeroen Van den Keybus
2006-02-15 22:48                           ` Philippe Gerum
2006-02-15 22:58                           ` Jeroen Van den Keybus
2006-02-15 23:09                         ` Russell Johnson
2006-02-16  9:36                           ` Philippe Gerum
2006-02-16 14:23                             ` Russell Johnson
2006-02-17 12:54                               ` Jeroen Van den Keybus
2006-02-17 13:08                                 ` Philippe Gerum
2006-02-17 14:43                                   ` Russell Johnson
2006-02-17 15:45                                     ` Philippe Gerum
2006-02-17 15:57                                   ` Jeroen Van den Keybus
2006-02-17 16:07                                     ` Philippe Gerum
2006-02-17 16:49                                       ` Jeroen Van den Keybus
2006-02-17 18:37                                         ` Jeroen Van den Keybus
2006-02-17 18:39                                           ` Philippe Gerum
2006-02-19 18:50                                             ` Philippe Gerum
2006-02-14 18:23     ` Philippe Gerum

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.