All of lore.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.