aboutsummaryrefslogtreecommitdiff
path: root/scripts/gdb/linux/utils.py
diff options
context:
space:
mode:
authorSinan Kaya <[email protected]>2016-10-24 00:31:31 -0400
committerRafael J. Wysocki <[email protected]>2016-10-24 14:18:14 +0200
commitf1caa61df2a3dc4c58316295c5dc5edba4c68d85 (patch)
tree0c2038f786bc46ca28199c9699d37e3271a60039 /scripts/gdb/linux/utils.py
parenteeaed4bb5a35591470b545590bb2f26dbe7653a2 (diff)
ACPI/PCI: pci_link: penalize SCI correctly
Ondrej reported that IRQs stopped working in v4.7 on several platforms. A typical scenario, from Ondrej's VT82C694X/694X, is: ACPI: Using PIC for interrupt routing ACPI: PCI Interrupt Link [LNKA] (IRQs 1 3 4 5 6 7 10 *11 12 14 15) ACPI: No IRQ available for PCI Interrupt Link [LNKA] 8139too 0000:00:0f.0: PCI INT A: no GSI We're using PIC routing, so acpi_irq_balance == 0, and LNKA is already active at IRQ 11. In that case, acpi_pci_link_allocate() only tries to use the active IRQ (IRQ 11) which also happens to be the SCI. We should penalize the SCI by PIRQ_PENALTY_PCI_USING, but irq_get_trigger_type(11) returns something other than IRQ_TYPE_LEVEL_LOW, so we penalize it by PIRQ_PENALTY_ISA_ALWAYS instead, which makes acpi_pci_link_allocate() assume the IRQ isn't available and give up. Add acpi_penalize_sci_irq() so platforms can tell us the SCI IRQ, trigger, and polarity directly and we don't have to depend on irq_get_trigger_type(). Fixes: 103544d86976 (ACPI,PCI,IRQ: reduce resource requirements) Link: http://lkml.kernel.org/r/[email protected] Reported-by: Ondrej Zary <[email protected]> Acked-by: Bjorn Helgaas <[email protected]> Signed-off-by: Sinan Kaya <[email protected]> Tested-by: Jonathan Liu <[email protected]> Signed-off-by: Rafael J. Wysocki <[email protected]>
Diffstat (limited to 'scripts/gdb/linux/utils.py')
0 files changed, 0 insertions, 0 deletions