lkml.org 
[lkml]   [2008]   [Nov]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: 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@shaw.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@vger.kernel.org
    > More majordomo info at http://vger.kernel.org/majordomo-info.html


    \
     
     \ /
      Last update: 2008-11-08 18:31    [W:0.052 / U:87.688 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site