Yenta ISA IRQ mask depends on pci=routeirq?

Bjorn Helgaas bjorn.helgaas at hp.com
Thu Apr 28 19:10:50 EDT 2005


As of 2.6.10, PCI interrupts are not routed on ACPI systems
until the device driver calls pci_device_enable().  The
"pci=routeirq" parameter restores the old behavior of
routing all the interrupts before starting drivers.

One user reported that "pci=routeirq" affects the ISA IRQ
mask discovered by Yenta, and I don't know why it should:

    Linux version 2.6.11-1.14_FC3 (bhcompile at bugs.build.redhat.com) (gcc version 3.4.3 20050227 (Red Hat 3.4.3-22)) #1 Thu Apr 7 19:23:49 EDT 2005
    ...
    -Kernel command line: ro root=/dev/VolGroup00/LogVol00 rhgb quiet
    +Kernel command line: ro root=/dev/VolGroup00/LogVol00 rhgb quiet pci=routeirq
    ...
    +ACPI: PCI Interrupt Link [LNKA] enabled at IRQ 10
    +PCI: setting IRQ 10 as level-triggered
    +ACPI: PCI interrupt 0000:00:02.0[A] -> GSI 10 (level, low) -> IRQ 10
    +ACPI: PCI interrupt 0000:00:1d.0[A] -> GSI 10 (level, low) -> IRQ 10
    +ACPI: PCI Interrupt Link [LNKD] enabled at IRQ 11
    +PCI: setting IRQ 11 as level-triggered
    +ACPI: PCI interrupt 0000:00:1d.1[B] -> GSI 11 (level, low) -> IRQ 11
    +ACPI: PCI Interrupt Link [LNKC] enabled at IRQ 11
    +ACPI: PCI interrupt 0000:00:1d.2[C] -> GSI 11 (level, low) -> IRQ 11
    +ACPI: PCI Interrupt Link [LNKH] enabled at IRQ 10
    +ACPI: PCI interrupt 0000:00:1d.7[D] -> GSI 10 (level, low) -> IRQ 10
    +ACPI: PCI interrupt 0000:00:1f.1[A] -> GSI 11 (level, low) -> IRQ 11
    +ACPI: PCI Interrupt Link [LNKB] enabled at IRQ 10
    +ACPI: PCI interrupt 0000:00:1f.3[B] -> GSI 10 (level, low) -> IRQ 10
    +ACPI: PCI interrupt 0000:00:1f.5[B] -> GSI 10 (level, low) -> IRQ 10
    +ACPI: PCI interrupt 0000:00:1f.6[B] -> GSI 10 (level, low) -> IRQ 10
    +ACPI: PCI interrupt 0000:02:03.0[A] -> GSI 10 (level, low) -> IRQ 10
    +ACPI: PCI interrupt 0000:02:03.1[B] -> GSI 10 (level, low) -> IRQ 10
    +ACPI: PCI interrupt 0000:02:03.2[C] -> GSI 11 (level, low) -> IRQ 11
    +ACPI: PCI interrupt 0000:02:05.0[A] -> GSI 11 (level, low) -> IRQ 11
    ...
    PCI: Enabling device 0000:02:03.0 (0000 -> 0002)
    ACPI: PCI interrupt 0000:02:03.0[A] -> GSI 10 (level, low) -> IRQ 10
    Yenta: CardBus bridge found at 0000:02:03.0 [1028:014f]
--> -Yenta: ISA IRQ mask 0x0038, PCI irq 10
--> +Yenta: ISA IRQ mask 0x00b8, PCI irq 10
    ...
    parport: PnPBIOS parport detected.
    parport0: PC-style at 0x378 (0x778), irq 7 [PCSPP,TRISTATE,EPP]

I assume this means the mask contains

	default:		IRQs 3, 4, 5
	"pci=routeirq":		IRQs 3, 4, 5, 7

The user didn't report any ill effects from this, but it does
seem strange, and I'd like to understand the difference.

IRQ 7 is used by parport_pc, but that's not initialized until
after yenta.

Any ideas?




More information about the linux-pcmcia mailing list