LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
From: "Nobin Mathew" <nobin.mathew@gmail.com>
To: "Grant Grundler" <grundler@parisc-linux.org>
Cc: "Jiri Slaby" <jirislaby@gmail.com>,
	linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org,
	"Robert Hancock" <hancockr@shaw.ca>
Subject: Re: sharing interrupt between PCI device
Date: Mon, 10 Nov 2008 12:05:59 +0530	[thread overview]
Message-ID: <8d6898730811092235u4a41c664vd641d2792dee4c50@mail.gmail.com> (raw)
In-Reply-To: <20081108191536.GC28039@colo.lackof.org>

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

lspci output

[root@localhost ~]# lspci -vs 1:4
01:04.0 System peripheral: Compaq Computer Corporation Integrated
Lights Out Controller (rev 03)
        Subsystem: Hewlett-Packard Company Unknown device 3305
        Flags: medium devsel, IRQ 11
        I/O ports at 2800 [size=256]
        Memory at fdee0000 (32-bit, non-prefetchable) [size=512]
        Capabilities: [f0] Power Management version 3

01:04.2 System peripheral: Compaq Computer Corporation Integrated
Lights Out  Processor (rev 03)
        Subsystem: Hewlett-Packard Company Unknown device 3305
        Flags: medium devsel, IRQ 225
        BIST result: 00
        I/O ports at 1400 [disabled] [size=256]
        Memory at fded0000 (32-bit, non-prefetchable) [disabled] [size=2K]
        Memory at fdec0000 (32-bit, non-prefetchable) [disabled] [size=8K]
        Memory at fde00000 (32-bit, non-prefetchable) [disabled] [size=512K]
        [virtual] Expansion ROM at fdd20000 [disabled] [size=64K]
        Capabilities: [f0] Power Management version 3

01:04.4 USB Controller: Hewlett-Packard Company Proliant iLO2 virtual
USB controller (prog-if 00 [UHCI])
        Subsystem: Hewlett-Packard Company Unknown device 3305
        Flags: medium devsel, IRQ 225
        I/O ports at 1800 [disabled] [size=32]
        Capabilities: [f0] Power Management version 3

01:04.6 IPMI SMIC interface: Hewlett-Packard Company Proliant iLO2
virtual UART (prog-if 01)
        Subsystem: Hewlett-Packard Company Unknown device 3305
        Flags: medium devsel, IRQ 50
        Memory at fddf0000 (32-bit, non-prefetchable) [size=256]
        Capabilities: [f0] Power Management version 3

dmesg messages and /proc/interupts are attached.


command sequence just for reference

insmod hpilo
insmod uhci_hcd
cat /proc/interrupts
dmesg
rmmod hpilo
rmmod uhci_hcd
dmesg

Thanks
Nobin Mathew

On Sun, Nov 9, 2008 at 12:45 AM, Grant Grundler
<grundler@parisc-linux.org> wrote:
> On Sat, Nov 08, 2008 at 08:10:54PM +0100, Jiri Slaby wrote:
>> Grant Grundler napsal(a):
>> > 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).
>>
>> This irq setup is done during pci_enable_device.
>
> Sorry, I wasn't quite correct: pci_enable_device() should only assign IRQs,
> not enable them. request_irq() would enable them.
>
>> > Nobin, can you dump /proc/interrupts when both drivers
>> > are loaded and also send the dmesg output after both are loaded?
>>
>> This won't show the hp driver as it doesn't request_irq.
>
> Yup - that's what I expect too. But I was afraid something else might
> be calling request_irq() and I'm just not seeing it. :)
>
> grant
>

[-- Attachment #2: demsg_all_in --]
[-- Type: text/plain, Size: 2925 bytes --]

PCI: Enabling device 0000:01:04.2 (0114 -> 0117)
ACPI: PCI Interrupt 0000:01:04.2[B] -> GSI 23 (level, low) -> IRQ 225
USB Universal Host Controller Interface driver v3.0
PCI: Enabling device 0000:00:1d.0 (0000 -> 0001)
ACPI: PCI Interrupt 0000:00:1d.0[A] -> GSI 21 (level, low) -> IRQ 217
PCI: Setting latency timer of device 0000:00:1d.0 to 64
uhci_hcd 0000:00:1d.0: UHCI Host Controller
uhci_hcd 0000:00:1d.0: new USB bus registered, assigned bus number 2
uhci_hcd 0000:00:1d.0: irq 217, io base 0x00003000
usb usb2: configuration #1 chosen from 1 choice
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 2 ports detected
PCI: Enabling device 0000:00:1d.1 (0000 -> 0001)
ACPI: PCI Interrupt 0000:00:1d.1[B] -> GSI 21 (level, low) -> IRQ 217
PCI: Setting latency timer of device 0000:00:1d.1 to 64
uhci_hcd 0000:00:1d.1: UHCI Host Controller
uhci_hcd 0000:00:1d.1: new USB bus registered, assigned bus number 3
uhci_hcd 0000:00:1d.1: irq 217, io base 0x00003020
usb usb3: configuration #1 chosen from 1 choice
hub 3-0:1.0: USB hub found
hub 3-0:1.0: 2 ports detected
PCI: Enabling device 0000:00:1d.2 (0000 -> 0001)
ACPI: PCI Interrupt 0000:00:1d.2[C] -> GSI 21 (level, low) -> IRQ 217
PCI: Setting latency timer of device 0000:00:1d.2 to 64
uhci_hcd 0000:00:1d.2: UHCI Host Controller
uhci_hcd 0000:00:1d.2: new USB bus registered, assigned bus number 4
uhci_hcd 0000:00:1d.2: irq 217, io base 0x00003040
usb usb4: configuration #1 chosen from 1 choice
hub 4-0:1.0: USB hub found
hub 4-0:1.0: 2 ports detected
PCI: Enabling device 0000:00:1d.3 (0000 -> 0001)
ACPI: PCI Interrupt 0000:00:1d.3[D] -> GSI 21 (level, low) -> IRQ 217
PCI: Setting latency timer of device 0000:00:1d.3 to 64
uhci_hcd 0000:00:1d.3: UHCI Host Controller
uhci_hcd 0000:00:1d.3: new USB bus registered, assigned bus number 5
uhci_hcd 0000:00:1d.3: irq 217, io base 0x00003060
usb usb5: configuration #1 chosen from 1 choice
hub 5-0:1.0: USB hub found
hub 5-0:1.0: 2 ports detected
PCI: Enabling device 0000:01:04.4 (0140 -> 0141)
ACPI: PCI Interrupt 0000:01:04.4[B] -> GSI 23 (level, low) -> IRQ 225
uhci_hcd 0000:01:04.4: UHCI Host Controller
uhci_hcd 0000:01:04.4: new USB bus registered, assigned bus number 6
uhci_hcd 0000:01:04.4: port count misdetected? forcing to 2 ports
uhci_hcd 0000:01:04.4: irq 225, io base 0x00001800
usb usb6: configuration #1 chosen from 1 choice
hub 6-0:1.0: USB hub found
hub 6-0:1.0: 2 ports detected
usb 6-1: new full speed USB device using uhci_hcd and address 2
usb 6-1: configuration #1 chosen from 1 choice
input: HP Virtual Keyboard as /class/input/input5
input: USB HID v1.01 Keyboard [HP Virtual Keyboard] on usb-0000:01:04.4-1
input: HP Virtual Keyboard as /class/input/input6
input: USB HID v1.01 Mouse [HP Virtual Keyboard] on usb-0000:01:04.4-1
usb 6-2: new full speed USB device using uhci_hcd and address 3
usb 6-2: configuration #1 chosen from 1 choice
hub 6-2:1.0: USB hub found
hub 6-2:1.0: 7 ports detected

[-- Attachment #3: interrupts_out --]
[-- Type: text/plain, Size: 799 bytes --]

           CPU0       CPU1       
  0:     237187          0    IO-APIC-edge  timer
  1:        695          0    IO-APIC-edge  i8042
  7:          0          0    IO-APIC-edge  parport0
  8:          1          0    IO-APIC-edge  rtc
  9:          0          0   IO-APIC-level  acpi
 12:        115       3923    IO-APIC-edge  i8042
 14:         92       1636    IO-APIC-edge  ide0
 50:        431       1339   IO-APIC-level  ipmi_si
169:        434       6421   IO-APIC-level  eth0
217:          0          0   IO-APIC-level  ehci_hcd:usb1, uhci_hcd:usb2, uhci_hcd:usb3, uhci_hcd:usb4, uhci_hcd:usb5
225:         99        102   IO-APIC-level  uhci_hcd:usb6
233:       5633      15459   IO-APIC-level  libata
NMI:          0          0 
LOC:     237016     236962 
ERR:          0
MIS:          0

[-- Attachment #4: demsg_all_out --]
[-- Type: text/plain, Size: 3918 bytes --]

PCI: Enabling device 0000:01:04.2 (0114 -> 0117)
ACPI: PCI Interrupt 0000:01:04.2[B] -> GSI 23 (level, low) -> IRQ 225
USB Universal Host Controller Interface driver v3.0
PCI: Enabling device 0000:00:1d.0 (0000 -> 0001)
ACPI: PCI Interrupt 0000:00:1d.0[A] -> GSI 21 (level, low) -> IRQ 217
PCI: Setting latency timer of device 0000:00:1d.0 to 64
uhci_hcd 0000:00:1d.0: UHCI Host Controller
uhci_hcd 0000:00:1d.0: new USB bus registered, assigned bus number 2
uhci_hcd 0000:00:1d.0: irq 217, io base 0x00003000
usb usb2: configuration #1 chosen from 1 choice
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 2 ports detected
PCI: Enabling device 0000:00:1d.1 (0000 -> 0001)
ACPI: PCI Interrupt 0000:00:1d.1[B] -> GSI 21 (level, low) -> IRQ 217
PCI: Setting latency timer of device 0000:00:1d.1 to 64
uhci_hcd 0000:00:1d.1: UHCI Host Controller
uhci_hcd 0000:00:1d.1: new USB bus registered, assigned bus number 3
uhci_hcd 0000:00:1d.1: irq 217, io base 0x00003020
usb usb3: configuration #1 chosen from 1 choice
hub 3-0:1.0: USB hub found
hub 3-0:1.0: 2 ports detected
PCI: Enabling device 0000:00:1d.2 (0000 -> 0001)
ACPI: PCI Interrupt 0000:00:1d.2[C] -> GSI 21 (level, low) -> IRQ 217
PCI: Setting latency timer of device 0000:00:1d.2 to 64
uhci_hcd 0000:00:1d.2: UHCI Host Controller
uhci_hcd 0000:00:1d.2: new USB bus registered, assigned bus number 4
uhci_hcd 0000:00:1d.2: irq 217, io base 0x00003040
usb usb4: configuration #1 chosen from 1 choice
hub 4-0:1.0: USB hub found
hub 4-0:1.0: 2 ports detected
PCI: Enabling device 0000:00:1d.3 (0000 -> 0001)
ACPI: PCI Interrupt 0000:00:1d.3[D] -> GSI 21 (level, low) -> IRQ 217
PCI: Setting latency timer of device 0000:00:1d.3 to 64
uhci_hcd 0000:00:1d.3: UHCI Host Controller
uhci_hcd 0000:00:1d.3: new USB bus registered, assigned bus number 5
uhci_hcd 0000:00:1d.3: irq 217, io base 0x00003060
usb usb5: configuration #1 chosen from 1 choice
hub 5-0:1.0: USB hub found
hub 5-0:1.0: 2 ports detected
PCI: Enabling device 0000:01:04.4 (0140 -> 0141)
ACPI: PCI Interrupt 0000:01:04.4[B] -> GSI 23 (level, low) -> IRQ 225
uhci_hcd 0000:01:04.4: UHCI Host Controller
uhci_hcd 0000:01:04.4: new USB bus registered, assigned bus number 6
uhci_hcd 0000:01:04.4: port count misdetected? forcing to 2 ports
uhci_hcd 0000:01:04.4: irq 225, io base 0x00001800
usb usb6: configuration #1 chosen from 1 choice
hub 6-0:1.0: USB hub found
hub 6-0:1.0: 2 ports detected
usb 6-1: new full speed USB device using uhci_hcd and address 2
usb 6-1: configuration #1 chosen from 1 choice
input: HP Virtual Keyboard as /class/input/input5
input: USB HID v1.01 Keyboard [HP Virtual Keyboard] on usb-0000:01:04.4-1
input: HP Virtual Keyboard as /class/input/input6
input: USB HID v1.01 Mouse [HP Virtual Keyboard] on usb-0000:01:04.4-1
usb 6-2: new full speed USB device using uhci_hcd and address 3
usb 6-2: configuration #1 chosen from 1 choice
hub 6-2:1.0: USB hub found
hub 6-2:1.0: 7 ports detected
ACPI: PCI interrupt for device 0000:01:04.2 disabled
uhci_hcd 0000:01:04.4: remove, state 1
usb usb6: USB disconnect, address 1
usb 6-1: USB disconnect, address 2
usb 6-2: USB disconnect, address 3
uhci_hcd 0000:01:04.4: USB bus 6 deregistered
ACPI: PCI interrupt for device 0000:01:04.4 disabled
uhci_hcd 0000:00:1d.3: remove, state 1
usb usb5: USB disconnect, address 1
uhci_hcd 0000:00:1d.3: USB bus 5 deregistered
ACPI: PCI interrupt for device 0000:00:1d.3 disabled
uhci_hcd 0000:00:1d.2: remove, state 1
usb usb4: USB disconnect, address 1
uhci_hcd 0000:00:1d.2: USB bus 4 deregistered
ACPI: PCI interrupt for device 0000:00:1d.2 disabled
uhci_hcd 0000:00:1d.1: remove, state 1
usb usb3: USB disconnect, address 1
uhci_hcd 0000:00:1d.1: USB bus 3 deregistered
ACPI: PCI interrupt for device 0000:00:1d.1 disabled
uhci_hcd 0000:00:1d.0: remove, state 1
usb usb2: USB disconnect, address 1
uhci_hcd 0000:00:1d.0: USB bus 2 deregistered
ACPI: PCI interrupt for device 0000:00:1d.0 disabled

  reply	other threads:[~2008-11-10  6:36 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <fa.h7+lofM1lpbRM5V4/ti5d7RwXuM@ifi.uio.no>
2008-11-05  0:28 ` sharing interrupt between PCI device Robert Hancock
2008-11-05  7:49   ` Nobin Mathew
2008-11-05  8:36     ` Jiri Slaby
2008-11-05  9:20       ` Nobin Mathew
2008-11-06  6:11         ` Nobin Mathew
2008-11-06  7:44           ` Nobin Mathew
2008-11-06 21:24             ` Jiri Slaby
2008-11-07  5:46               ` Nobin Mathew
2008-11-08  7:57         ` Grant Grundler
2008-11-08  9:49           ` Jiri Slaby
2008-11-08 11:53             ` Nobin Mathew
2008-11-08 11:57               ` Jiri Slaby
2008-11-08 17:27     ` Grant Grundler
2008-11-08 19:10       ` Jiri Slaby
2008-11-08 19:15         ` Grant Grundler
2008-11-10  6:35           ` Nobin Mathew [this message]
2008-11-10  6:39             ` Nobin Mathew
2008-11-10  6:47               ` Nobin Mathew
2008-11-10  7:51             ` Grant Grundler
2008-11-10  7:58               ` Ingo Molnar
2008-11-10 10:31                 ` Nobin Mathew
2008-11-10 15:42                   ` Nobin Mathew
2008-11-10 20:34                     ` Grant Grundler
2008-11-11  4:57                       ` Nobin Mathew
2008-11-11 16:24                         ` Altobelli, David
2008-11-11 18:49                           ` Robert Hancock
2008-11-10 20:33                 ` Grant Grundler
2008-11-03 13:32 Nobin Mathew
2008-11-03 14:44 ` Jiri Slaby

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=8d6898730811092235u4a41c664vd641d2792dee4c50@mail.gmail.com \
    --to=nobin.mathew@gmail.com \
    --cc=grundler@parisc-linux.org \
    --cc=hancockr@shaw.ca \
    --cc=jirislaby@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).