From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: <4D88925C.3040609@domain.hid> Date: Tue, 22 Mar 2011 13:13:16 +0100 From: Jan Kiszka MIME-Version: 1.0 References: <4D80BA8B.7050803@domain.hid>, <4D81C6AD.8050803@domain.hid> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Subject: Re: [Xenomai-core] MSI support in Xenomai List-Id: Xenomai life and development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , 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