Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1209644

Re: [Patch v2] x86, ACPI, irq: Add a quirk to override SCI polarity for HyperV

From "Rafael J. Wysocki" <rafael@kernel.org>
Newsgroups linux.kernel
Subject Re: [Patch v2] x86, ACPI, irq: Add a quirk to override SCI polarity for HyperV
Date 2015-08-19 08:10 +0200
Message-ID <pZ4Js-5LH-9@gated-at.bofh.it> (permalink)
References <pYUTL-7nC-3@gated-at.bofh.it> <pZ4zM-5l9-15@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


Hi,

On Wed, Aug 19, 2015 at 7:53 AM, Jiang Liu <jiang.liu@linux.intel.com> wrote:
> Nick Meier reported a regression with HyperV that "
>   After rebooting the VM, the following messages are logged in syslog
>   when trying to load the tulip driver:
>     tulip: Linux Tulip drivers version 1.1.15 (Feb 27, 2007)
>     tulip: 0000:00:0a.0: PCI INT A: failed to register GSI
>     tulip: Cannot enable tulip board #0, aborting
>     tulip: probe of 0000:00:0a.0 failed with error -16
>   Errors occur in 3.19.0 kernel
>   Works in 3.17 kernel.
> "
>
> According to the ACPI dump file posted by Nick at
> https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1440072
>
> The ACPI MADT table includes an interrupt source overridden entry for
> ACPI SCI:
> [236h 0566  1]                Subtable Type : 02 <Interrupt Source Override>
> [237h 0567  1]                       Length : 0A
> [238h 0568  1]                          Bus : 00
> [239h 0569  1]                       Source : 09
> [23Ah 0570  4]                    Interrupt : 00000009
> [23Eh 0574  2]        Flags (decoded below) : 000D
>                                    Polarity : 1
>                                Trigger Mode : 3
>
> And in DSDT table, we have _PRT method to define PCI interrupts, which
> eventually goes to:
>         Name (PRSA, ResourceTemplate ()
>         {
>             IRQ (Level, ActiveLow, Shared, )
>                 {3,4,5,7,9,10,11,12,14,15}
>         })
>         Name (PRSB, ResourceTemplate ()
>         {
>             IRQ (Level, ActiveLow, Shared, )
>                 {3,4,5,7,9,10,11,12,14,15}
>         })
>         Name (PRSC, ResourceTemplate ()
>         {
>             IRQ (Level, ActiveLow, Shared, )
>                 {3,4,5,7,9,10,11,12,14,15}
>         })
>         Name (PRSD, ResourceTemplate ()
>         {
>             IRQ (Level, ActiveLow, Shared, )
>                 {3,4,5,7,9,10,11,12,14,15}
>         })
>
> According to the MADT and DSDT tables above, IRQ 9 may be used for:
> 1) ACPI SCI in level, high mode
> 2) PCI legacy IRQ in level, low mode
> So there's a possible conflict in polarity setting for IRQ 9.
>
> Prior to commit cd68f6bd53cf ("x86, irq, acpi: Get rid of special
> handling of GSI for ACPI SCI"), ACPI SCI is handled specially and
> there's no check for conflicts between ACPI SCI and PCI legagy IRQ.
> And it seems that the HyperV hypervisor doesn't make use of the
> polarity configuration in IOAPIC entry, so it just works.

That likely means the previous behavior was the same as (or at least
analogous to) what happens on Windows which is what the firmware has
been tested against and that's why the bug in it has not been caught.
That in turn indicates that there may be more systems having this kind
of problems, possibly from other vendors too, so I'm wondering if we
can do something more generic than using a quirk here?

Rafael
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[Patch v1] x86, ACPI, irq: Fix a regression caused by Jiang Liu <jiang.liu@linux.intel.com> - 2015-08-09 11:00 +0200
  Re: [Patch v1] x86, ACPI, irq: Fix a regression caused by Thomas Gleixner <tglx@linutronix.de> - 2015-08-18 21:40 +0200
    [Patch v2] x86, ACPI, irq: Add a quirk to override SCI polarity for HyperV Jiang Liu <jiang.liu@linux.intel.com> - 2015-08-19 08:00 +0200
      Re: [Patch v2] x86, ACPI, irq: Add a quirk to override SCI polarity  for HyperV "Rafael J. Wysocki" <rafael@kernel.org> - 2015-08-19 08:10 +0200
        Re: [Patch v2] x86, ACPI, irq: Add a quirk to override SCI polarity  for HyperV Jiang Liu <jiang.liu@linux.intel.com> - 2015-08-19 08:30 +0200
          Re: [Patch v2] x86, ACPI, irq: Add a quirk to override SCI polarity  for HyperV "Rafael J. Wysocki" <rafael@kernel.org> - 2015-08-19 08:50 +0200
            Re: [Patch v2] x86, ACPI, irq: Add a quirk to override SCI polarity  for HyperV Jiang Liu <jiang.liu@linux.intel.com> - 2015-08-19 09:00 +0200
              Re: [Patch v2] x86, ACPI, irq: Add a quirk to override SCI polarity  for HyperV Thomas Gleixner <tglx@linutronix.de> - 2015-08-19 10:40 +0200
                Re: [Patch v2] x86, ACPI, irq: Add a quirk to override SCI polarity  for HyperV Thomas Gleixner <tglx@linutronix.de> - 2015-08-19 10:50 +0200
                Re: [Patch v2] x86, ACPI, irq: Add a quirk to override SCI polarity  for HyperV Jiang Liu <jiang.liu@linux.intel.com> - 2015-08-19 11:10 +0200
                Re: [Patch v2] x86, ACPI, irq: Add a quirk to override SCI polarity  for HyperV Jiang Liu <jiang.liu@linux.intel.com> - 2015-08-20 08:20 +0200
                Re: [Patch v2] x86, ACPI, irq: Add a quirk to override SCI polarity  for HyperV Thomas Gleixner <tglx@linutronix.de> - 2015-08-20 11:20 +0200
                Re: [Patch v2] x86, ACPI, irq: Add a quirk to override SCI polarity  for HyperV Jiang Liu <jiang.liu@linux.intel.com> - 2015-08-20 11:40 +0200
                Re: [Patch v2] x86, ACPI, irq: Add a quirk to override SCI polarity  for HyperV Thomas Gleixner <tglx@linutronix.de> - 2015-08-20 13:20 +0200
                [Patch v3] ACPI, PCI: Penalize legacy IRQ used by ACPI SCI Jiang Liu <jiang.liu@linux.intel.com> - 2015-08-21 09:40 +0200
                Re: [Patch v3] ACPI, PCI: Penalize legacy IRQ used by ACPI SCI Thomas Gleixner <tglx@linutronix.de> - 2015-08-25 10:20 +0200
                Re: [Patch v3] ACPI, PCI: Penalize legacy IRQ used by ACPI SCI Aaron Lu <aaron.lu@intel.com> - 2015-08-26 04:50 +0200
                Re: [Patch v3] ACPI, PCI: Penalize legacy IRQ used by ACPI SCI Thomas Gleixner <tglx@linutronix.de> - 2015-08-26 10:00 +0200
                Re: [Patch v3] ACPI, PCI: Penalize legacy IRQ used by ACPI SCI Thomas Gleixner <tglx@linutronix.de> - 2015-08-26 11:30 +0200
                Re: [Patch v3] ACPI, PCI: Penalize legacy IRQ used by ACPI SCI "Rafael J. Wysocki" <rafael@kernel.org> - 2015-08-26 22:30 +0200
                Re: [Patch v3] ACPI, PCI: Penalize legacy IRQ used by ACPI SCI Thomas Gleixner <tglx@linutronix.de> - 2015-08-27 00:10 +0200

csiph-web