From: Heikki Krogerus <heikki.krogerus@linux.intel.com>
To: "Rafael J. Wysocki" <rjw@rjwysocki.net>
Cc: Mike Turquette <mturquette@linaro.org>,
Jin Yao <yao.jin@linux.intel.com>,
Li Aubrey <aubrey.li@linux.intel.com>,
Mika Westerberg <mika.westerberg@linux.intel.com>,
Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
linux-acpi@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCHv2 2/4] ACPI / LPSS: custom power domain for LPSS
Date: Fri, 23 May 2014 15:30:53 +0300 [thread overview]
Message-ID: <20140523123052.GA18308@xps8300> (raw)
In-Reply-To: <1484699.LPqrzmlevB@vostro.rjw.lan>
On Thu, May 22, 2014 at 01:28:16AM +0200, Rafael J. Wysocki wrote:
> On Wednesday, May 21, 2014 01:52:58 PM Heikki Krogerus wrote:
> > On Wed, May 21, 2014 at 01:01:31PM +0200, Rafael J. Wysocki wrote:
> > > On Wednesday, May 21, 2014 01:05:11 PM Heikki Krogerus wrote:
> > > > On Tue, May 20, 2014 at 11:33:09PM +0200, Rafael J. Wysocki wrote:
> > > > > First, is the 10 ms sleep really necessary? I'd expect the AML to take care of
> > > > > such delays (this is not a PCI device formally).
> > > >
> > > > Unfortunately that is not the case. There is nothing in the AML for
> > > > this. Mika, correct me if I'm wrong.
> > > >
> > > > > And because this is not a PCI device formally, why is the comment talking about
> > > > > the PCI spec? Why is PCI relevant in any way here?
> > > >
> > > > Under the hood the devices are still PCI devices, even if they
> > > > formally aren't. Maybe I should point that out in the comment..
> > > >
> > > > We put the sleep there because without it there was no guarantee if
> > > > the device was properly resumed by the time the drivers resume hooks
> > > > were called. The symptom in case of a failure was simply that the
> > > > registers could not be written, which leads into timeouts at least in
> > > > case of the I2C and UART and making them unusable until the next
> > > > suspend followed by resume.
> > >
> > > OK, so the msleep() is functionally necessary. Instead of talking about the
> > > PCI in the comment, which will make a casual reader think "What the heck?",
> > > please say something like "the delay is necessary for the subsequent register
> > > writes to succeed on <example system>".
> >
> > OK.
>
> So I have one more concern. Namely, async suspend is not enabled for the LPSS
> devices, so the delays will accumulate for them and that may become a big deal
> at one point.
>
> This may be addressed either (1) by enabling async suspend for them or, which would
> be more complicated, by doing the msleep() once for the whole LPSS in .resume_early()
> and restoring the register values in .resume() without delaying.
>
> For (1) I have the following untested patch (on top of my bleeding-edge branch, but
> it should apply to the mainline too if I haven't overlooked anything). Can you
> please try it on boxes with LPSS and see if it doesn't break suspend/resume on them?
Done, and there were no problems. I tested it with HSW, BYT and also BDW.
Thanks,
--
heikki
next prev parent reply other threads:[~2014-05-23 12:31 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-05-15 13:40 [PATCHv2 0/4] ACPI / LPSS: Solution for two issues seen on Asus T100 Heikki Krogerus
2014-05-15 13:40 ` [PATCHv2 1/4] ACPI / PM: Export rest of the subsys functions Heikki Krogerus
2014-05-15 13:40 ` [PATCHv2 2/4] ACPI / LPSS: custom power domain for LPSS Heikki Krogerus
2014-05-20 21:33 ` Rafael J. Wysocki
2014-05-21 10:05 ` Heikki Krogerus
2014-05-21 11:01 ` Rafael J. Wysocki
2014-05-21 10:52 ` Heikki Krogerus
2014-05-21 23:28 ` Rafael J. Wysocki
2014-05-23 12:30 ` Heikki Krogerus [this message]
2014-05-23 13:10 ` Rafael J. Wysocki
2014-05-23 13:02 ` Heikki Krogerus
2014-05-23 13:15 ` [PATCHv3 " Heikki Krogerus
2014-05-26 13:03 ` Rafael J. Wysocki
2014-05-26 13:42 ` Heikki Krogerus
2014-05-26 21:30 ` Rafael J. Wysocki
2014-05-15 13:40 ` [PATCHv2 3/4] clk: new basic clk type for fractional divider Heikki Krogerus
2014-05-15 16:53 ` Mike Turquette
2014-05-16 22:38 ` Rafael J. Wysocki
[not found] ` <20140516230905.9521.88763@quantum>
2014-05-17 0:15 ` Rafael J. Wysocki
[not found] ` <20140517013403.9521.86191@quantum>
2014-05-19 0:15 ` Rafael J. Wysocki
2014-05-15 13:40 ` [PATCHv2 4/4] ACPI / LPSS: support for fractional divider clock Heikki Krogerus
2014-05-19 11:42 ` [PATCHv3 " Heikki Krogerus
2014-05-15 14:35 ` [PATCHv2 0/4] ACPI / LPSS: Solution for two issues seen on Asus T100 Li, Aubrey
2014-05-15 14:53 ` Andy Shevchenko
2014-05-15 15:59 ` Li, Aubrey
2014-05-15 16:11 ` Mika Westerberg
2014-05-15 23:29 ` Li, Aubrey
2014-05-16 7:04 ` Andy Shevchenko
2014-05-16 13:37 ` Li, Aubrey
2014-05-16 14:45 ` Andy Shevchenko
2014-05-20 11:17 ` Li, Aubrey
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=20140523123052.GA18308@xps8300 \
--to=heikki.krogerus@linux.intel.com \
--cc=andriy.shevchenko@linux.intel.com \
--cc=aubrey.li@linux.intel.com \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mika.westerberg@linux.intel.com \
--cc=mturquette@linaro.org \
--cc=rjw@rjwysocki.net \
--cc=yao.jin@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 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.