Re: sharing interrupt between PCI device

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxx> 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@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux