public inbox for linux-acpi@vger.kernel.org
 help / color / mirror / Atom feed
From: Len Brown <lenb@kernel.org>
To: Bjorn Helgaas <bjorn.helgaas@hp.com>
Cc: "Andrew Morton" <akpm@linux-foundation.org>,
	linux-acpi@vger.kernel.org,
	"Pierre Ossman" <drzeus-bugzilla@drzeus.cx>,
	"Michael Fu" <michael.fu@intel.com>,
	"Martin Kirst" <martin.kirst@s1998.tu-chemnitz.de>,
	"Hadmut Danisch" <hadmut@danisch.de>,
	"Johann-Nikolaus Andreae" <johann-nikolaus.andreae@nacs.de>,
	"Dominik Schäfer" <schaedpq2@gmx.de>,
	"Alex Williamson" <alex.williamson@hp.com>,
	"Aron Griffis" <aron@hp.com>
Subject: Re: [PATCH] ACPI: add _PRT quirks to work around broken firmware
Date: Wed, 12 Mar 2008 18:04:25 -0400	[thread overview]
Message-ID: <200803121804.26015.lenb@kernel.org> (raw)
In-Reply-To: <200803121600.50080.bjorn.helgaas@hp.com>

On Wednesday 12 March 2008, Bjorn Helgaas wrote:
> On Tuesday 11 March 2008 09:40:04 pm Len Brown wrote:
> > Thanks for following up on these, Bjorn.
> > 
> > Is it true that simply enabling pci=routeirq on these boxes
> > is an insufficient workaround?
> > 
> > I suspect the answer is yes, because when pci=routeirq works
> > we may just be lucky -- eg. we happen to assign the real
> > and the fake link to the same IRQ and thus the driver
> > actually registers for the correct IRQ, but by accident.
> 
> I double-checked this, and your guess is correct.  On the MD9580
> laptop, the BIOS reports 00:09[A] is connected to LNKA, which we
> assign to IRQ 10:
> 
>   ACPI: PCI Interrupt 0000:00:09.0[A] -> Link [LNKA] -> GSI 10 (level, low) -> IRQ 10
> 
> The device is actually connected to LNKB, which we also assigned
> to IRQ 10 (before my patch, we only enable LNKB with pci=routeirq
> because it's used by 00:06, for which we don't have a driver):
> 
>   ACPI: PCI Interrupt 0000:00:06.0[A] -> Link [LNKB] -> GSI 10 (level, low) -> IRQ 10
> 
> Similarly, on the Dell OptiPlex, we set both LNKA and LNKB to IRQ 10.
> The 00:0d[A] line is connected to LNKA, but the BIOS reports it on
> LNKB.  Without pci=routeirq, we may not enable LNKA because it's
> only used by 01:00[A], which is a VGA device.

Thanks, Bjorn.

This again raises suspicion that Windows doesn't disable and then re-enable
PCI interrupt links.  It is probably just using them in-place.

While we disable them at boot and re-enable at probe
b/c it fixed some spurious interrupt issues --
it may be that those issues were IOAPIC mode issues
and for PIC systems we should do something different,
such as not touch the links at all.

-Len


      reply	other threads:[~2008-03-12 22:09 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-03-11 20:45 [PATCH] ACPI: add _PRT quirks to work around broken firmware Bjorn Helgaas
2008-03-12  3:40 ` Len Brown
2008-03-12 17:55   ` Bjorn Helgaas
2008-03-12 19:50     ` Len Brown
2008-03-12 22:00   ` Bjorn Helgaas
2008-03-12 22:04     ` Len Brown [this message]

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=200803121804.26015.lenb@kernel.org \
    --to=lenb@kernel.org \
    --cc=akpm@linux-foundation.org \
    --cc=alex.williamson@hp.com \
    --cc=aron@hp.com \
    --cc=bjorn.helgaas@hp.com \
    --cc=drzeus-bugzilla@drzeus.cx \
    --cc=hadmut@danisch.de \
    --cc=johann-nikolaus.andreae@nacs.de \
    --cc=linux-acpi@vger.kernel.org \
    --cc=martin.kirst@s1998.tu-chemnitz.de \
    --cc=michael.fu@intel.com \
    --cc=schaedpq2@gmx.de \
    /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