[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20081108172716.GA28039@colo.lackof.org>
Date: Sat, 8 Nov 2008 10:27:16 -0700
From: Grant Grundler <grundler@...isc-linux.org>
To: Nobin Mathew <nobin.mathew@...il.com>
Cc: linux-kernel@...r.kernel.org, linux-pci@...r.kernel.org,
Robert Hancock <hancockr@...w.ca>, jirislaby@...il.com
Subject: Re: sharing interrupt between PCI device
On Wed, Nov 05, 2008 at 01:19:29PM +0530, Nobin Mathew wrote:
> Hi
>
> This is the system information X86_64 platform Xeon dual core processor.
>
> I saw the pci_disable_device () it is calling pcibios_disable_device
> () and this is is defined as
>
> void pcibios_disable_device (struct pci_dev *dev)
> {
> pcibios_disable_resources(dev);
> if (pcibios_disable_irq)
> pcibios_disable_irq(dev);
> }
>
> In i386 platform, I could not find a definition for these calls in
> x86_64 platform, i think it is using i386 platform code.
cscope would have helped you out here.
See arch/x86/pci/acpi.c:
int __init pci_acpi_init(void)
{
...
pcibios_enable_irq = acpi_pci_irq_enable;
pcibios_disable_irq = acpi_pci_irq_disable;
...
}
So I see how the IRQ is enabled and disabled. I still don't see where
an interrupt handler is bound to IRQ 225 (output you posted today in
another email). Nobin, can you dump /proc/interrupts when both drivers
are loaded and also send the dmesg output after both are loaded?
The "lspci" output Jiri asked for would be very helpful too.
thanks,
grant
>
> Thanks
> Nobin Mathew
>
>
>
>
>
> On Wed, Nov 5, 2008 at 5:58 AM, Robert Hancock <hancockr@...w.ca> wrote:
> > Nobin Mathew wrote:
> >>
> >> Hi,
> >>
> >> I think this question is already asked in this mailing list and Sorry
> >> for asking this again.
> >>
> >> My problem is this:
> >>
> >> I have two PCI devices ( also two kernel drivers for those) which
> >> shares the interupt. When I remove one driver other device stops
> >> working, which is happening due to pci_disable_device () in removed
> >> driver. This call is disabling the shared interrupt.
> >
> > pci_disable_device shouldn't be disabling the interrupt line, at least not
> > in this case. Without more details on the platform or drivers, it's
> > difficult to say why this would happen.
> >
> >>
> >> We can avoid this by just removing the pci_disable_device () in the
> >> driver, but i dont think this is a good way (correct me if I am
> >> wrong).
> >>
> >> Can you suggest some ways to overcome this issue.
> >
> >
> --
> To unsubscribe from this list: send the line "unsubscribe linux-pci" in
> the body of a message to majordomo@...r.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists