Re: Weird PCI interrupt delivery problem



On Fri, Dec 02, 2005 at 08:17:53AM -0500, John Baldwin wrote:
> If an MADT exists we do use the APIC and don't use ATPICs. That's
> normal.
>
> > 2. I "solved" the previous problem by modifying the ASL to assume
> > PIC mode, and then the tunables started working. It was only able
> > to move devices on the "near" side of the bridge (i.e. on pci0), but
> > they did work briefly on IRQ 10 before freezing just as before.
>
> You shouldn't have to do that. The ACPI standard clearly states that
> machines boot up in PIC mode by default and you only need to call _PIC
> to switch to either APIC or SAPIC (ia64) mode.

Yeah, that was my bad. I misread apic_register_enumerator as
acpi_register_enumerator. After tracing it down I see that the MADT
check is called after the check for hint.apic.0.disabled.

> Did you disable APIC before trying the tunables BTW?

Yes, however the first time I only tried tunables for LNKA, B, and C
(was typing them by hand). Later I tried with loader.conf and set all
8. Another odd thing is that the dmesg lines for the LNK objects still
report irq 11, though the devices themselves do attach to 10.

> Interesting. How about IRQ 11 in non-APIC mode, is it programmed to
> level/low?

If it's not mentioned in verbose dmesg, how do I tell what it's
programmed to? Is there already some way to do it that's easier than
writing something to read the PIC registers?

> hw.pci9.1.INTA.irq=11
> Also, try this hint with ACPI without APIC. It looks like your BIOS doesn't
> include entries for the PCI9 bus in the PIC version of the _PRT (see no PRT
> messages in ACPI dmesg) so cbb0 doesn't get an IRQ there either.

The hint "works" with ACPI, in that cbb0 attaches. However by the time
I'm able to insert a card, irq 11 has already died so nothing happens.

Craig
_______________________________________________
freebsd-hackers@xxxxxxxxxxx mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@xxxxxxxxxxx"



Relevant Pages

  • Re: libata Promise driver regression 2.6.5->2.6.6
    ... for some reason ACPI in 2.6.6 ... PCI Interrupt Link enabled at IRQ 12 ... tell Linux to move IRQs in PIC mode with "acpi_irq_balance". ...
    (Linux-Kernel)
  • regression, 2.6.26-rc7, pnp: quirk_system_pci_resources()
    ... I have been running with pnpacpi=off due to testing ISAPnP/PnPBIOS but when testing some other ACPI related problem tonight I removed that and found that unfortunately something seems to have regressed. ... My soundcard driver won't load anymore on current mainline: ... pnp: PnP ACPI init ... pnp 00:03: add irq 8 flags 0x1 ...
    (Linux-Kernel)
  • Re: [RFC][PATCH] IO-APIC blacklist
    ... shows very slow USB performance. ... It's more likely to be some irq routing issue, where ACPI fixes up ... Using 1 I/O APICs ...
    (Linux-Kernel)
  • Regression on VIA C3 motherboard, commit: 66f2173e2
    ... When ACPI is asked to find an MADT ... Allocating PCI resources starting at 40000000 ... Using configuration type 1 for base access ... setting IRQ 10 as level-triggered ...
    (Linux-Kernel)
  • Tecra M1/5.2.1 Suspend problem
    ... use apm instead of acpi. ... <ACPI PCI bus> on pcib0 ... pcib0: slot 29 INTA is routed to irq 11 ...
    (freebsd-questions)