From: "Rafael J. Wysocki" <rjw@sisk.pl>
To: Sarah Sharp <sarah.a.sharp@linux.intel.com>
Cc: linux-acpi@vger.kernel.org, linux-pci@vger.kernel.org,
LKML <linux-kernel@vger.kernel.org>,
Matthew Garrett <mjg59@srcf.ucam.org>
Subject: Re: PME via interrupt or SCI mechanism?
Date: Fri, 30 Sep 2011 18:40:20 +0200 [thread overview]
Message-ID: <201109301840.20402.rjw@sisk.pl> (raw)
In-Reply-To: <20110929225700.GA6207@xanatos>
On Friday, September 30, 2011, Sarah Sharp wrote:
> On Thu, Sep 29, 2011 at 11:51:49PM +0200, Rafael J. Wysocki wrote:
> > On Thursday, September 29, 2011, Rafael J. Wysocki wrote:
> > > On Thursday, September 29, 2011, Rafael J. Wysocki wrote:
> > > > On Thursday, September 29, 2011, Sarah Sharp wrote:
> > > > > On Thu, Sep 29, 2011 at 09:39:56PM +0200, Rafael J. Wysocki wrote:
> > > > > > On Thursday, September 29, 2011, Sarah Sharp wrote:
> > > > > > > On Thu, Sep 29, 2011 at 12:21:28AM +0200, Rafael J. Wysocki wrote:
> > > > > > Please try the appended patch and check if you see the "Notification error
> > > > > > for GPE" message (please keep your previous debug patches applied).
> > > > >
> > > > > Do I need to have the ACPI debug_level or debug_layer set to anything in
> > > > > particular to see this message?
> > > >
> > > > No, I don't think so, but just in case please try the patch below instead
> > > > of the previous one.
> > >
> > > Actually, please don't, it's a BIOS-related issue after all. Apparently,
> > > wakeup from xHCD is not supported by the BIOS, because the DSDT defines
> > > the _L0D method for GPE 0D (13), which is the following:
> > >
> > > Method (_L0D, 0, NotSerialized)
> > > {
> > > Notify (\_SB.PCI0.EHC1, 0x02)
> > > Notify (\_SB.PCI0.EHC2, 0x02)
> > > Notify (\_SB.PCI0.HDEF, 0x02)
> > > Notify (\_SB.PCI0.GLAN, 0x02)
> > > }
> > >
> > > so it notifies some devices, but not the xHCD.
>
> Ok, I'll let our BIOS guys know they need to add the XHC Notify line.
As stated below, it actually may be better to remove the _L0D method
entirely, because our ACPICA GPE handling code should take care of
notifying all of the devices associated with GPE 0D in that case.
> I should see if the x220 ACPI tables have a similar issue or it's a
> different issue with D3.
Yes, that would be good to know.
> > > We might work around this by doing what Matthew has suggested (ie. polling
> > > all PCI and PCIe devices to check if they have PME pending) or perhaps
> > > we can do something about this in ACPICA.
> > >
> > > Still, the right fix is to put Notify () for the ACPI objects
> > > corresponding to xHCD into the above method.
> >
> > Or to remove this method altogether (in which case our ACPICA code
> > should take care of the notifications).
> >
> > Below is a patch (untested!) that should help, but it's kind of
> > suboptimal. Nevertheless, please try if it works for you.
>
> The patch seems to finally get the host controller out of D3 when a
> remote wakeup is triggered.
OK
I'll try to prepare a better patch for you to test.
> I still see a lot of log spam from pci_acpi_wake_dev being called for ehci,
> e1000e, and snd_hcda_intel, but eventually the xHCI host gets put in D0.
> dmesg attached.
That's to be expected. All of the devices mentioned in the _L0D method
above will be notified every time any of devices associated with GPE 0D
sends a PME message to the Root Complex, which happens quite often
while the polling used to check the PME bits is done only every second.
Thanks,
Rafael
next prev parent reply other threads:[~2011-09-30 16:38 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-09-12 17:10 PME via interrupt or SCI mechanism? Sarah Sharp
2011-09-19 21:43 ` Rafael J. Wysocki
[not found] ` <20110922183201.GA4659@xanatos>
2011-09-25 14:53 ` Rafael J. Wysocki
2011-09-26 22:20 ` Rafael J. Wysocki
2011-09-26 23:48 ` Sarah Sharp
2011-09-27 11:21 ` Luming Yu
2011-09-27 20:32 ` Rafael J. Wysocki
2011-09-28 3:10 ` Luming Yu
2011-09-27 20:54 ` Rafael J. Wysocki
2011-09-27 23:52 ` Sarah Sharp
2011-09-28 22:21 ` Rafael J. Wysocki
2011-09-29 1:40 ` Matthew Garrett
2011-09-29 9:05 ` Rafael J. Wysocki
2011-09-29 18:23 ` Sarah Sharp
2011-09-29 19:39 ` Rafael J. Wysocki
2011-09-29 20:44 ` Sarah Sharp
2011-09-29 21:28 ` Rafael J. Wysocki
2011-09-29 21:38 ` Rafael J. Wysocki
2011-09-29 21:51 ` Rafael J. Wysocki
[not found] ` <20110929225700.GA6207@xanatos>
2011-09-30 16:40 ` Rafael J. Wysocki [this message]
2011-09-30 20:21 ` Rafael J. Wysocki
2011-10-01 0:30 ` Sarah Sharp
2011-10-01 20:29 ` Rafael J. Wysocki
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=201109301840.20402.rjw@sisk.pl \
--to=rjw@sisk.pl \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=mjg59@srcf.ucam.org \
--cc=sarah.a.sharp@linux.intel.com \
/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