public inbox for linux-acpi@vger.kernel.org
 help / color / mirror / Atom feed
From: "Rafael J. Wysocki" <rjw@rjwysocki.net>
To: Ocean HY1 He <hehy1@lenovo.com>
Cc: "Rafael J. Wysocki" <rafael@kernel.org>,
	"lenb@kernel.org" <lenb@kernel.org>,
	"linux-acpi@vger.kernel.org" <linux-acpi@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	David Tanaka <dtanaka@lenovo.com>,
	Nagananda Chumbalkar <nchumbalkar@lenovo.com>,
	"Zheng, Lv" <lv.zheng@intel.com>,
	Sumeet Kochar <skochar@lenovo.com>
Subject: Re: [PATCH] ACPI: Execute the _PTS method when system reboot
Date: Fri, 24 Jun 2016 14:36:02 +0200	[thread overview]
Message-ID: <17478802.Gfb4ydscFk@vostro.rjw.lan> (raw)
In-Reply-To: <BCBE834BAC19744BA2C3AC4D68DBF2198D8ACDFB@CNMAILEX03.lenovo.com>

On Friday, June 24, 2016 02:59:24 AM Ocean HY1 He wrote:
> 
> Regards,
> Ocean He
> SW Development Dept. 
> Beijing Design Center
> Enterprise Product Group
> Mobile: 18911778926
> E-mail: hehy1@lenovo.com
> No.6 Chuang Ye Road, Haidian District, Beijing, China 100085
> 
> 
> > -----Original Message-----
> > From: rjwysocki@gmail.com [mailto:rjwysocki@gmail.com] On Behalf Of
> > Rafael J. Wysocki
> > Sent: Thursday, June 23, 2016 9:13 PM
> > To: Ocean HY1 He
> > Cc: Rafael J. Wysocki; lenb@kernel.org; linux-acpi@vger.kernel.org;
> > linux-kernel@vger.kernel.org; David Tanaka; Nagananda Chumbalkar
> > Subject: Re: [PATCH] ACPI: Execute the _PTS method when system reboot
> > 
> > On Thu, Jun 23, 2016 at 2:55 PM, Ocean HY1 He <hehy1@lenovo.com>
> > wrote:
> > > Hi Rafael,
> > > Please see my reply in below.
> > >
> > > Regards,
> > > Ocean He
> > > SW Development Dept.
> > > Beijing Design Center
> > > Enterprise Product Group
> > > Mobile: 18911778926
> > > E-mail: hehy1@lenovo.com
> > > No.6 Chuang Ye Road, Haidian District, Beijing, China 100085
> > >
> > >> -----Original Message-----
> > >> From: Rafael J. Wysocki [mailto:rjw@rjwysocki.net]
> > >> Sent: Wednesday, June 22, 2016 7:56 AM
> > >> To: Ocean HY1 He
> > >> Cc: lenb@kernel.org; linux-acpi@vger.kernel.org;
> > >> linux-kernel@vger.kernel.org; David Tanaka; Nagananda Chumbalkar
> > >> Subject: Re: [PATCH] ACPI: Execute the _PTS method when system
> > reboot
> > >>
> > >> On Monday, May 09, 2016 05:50:11 AM Ocean HY1 He wrote:
> > >> > The _PTS control method is defined in the section 7.4.1 of acpi 6.0
> > >> > spec. The _PTS control method is executed by the OS during the sleep
> > >> > transition process for S1, S2, S3, S4, and for orderly S5 shutdown.
> > >> > The sleeping state value (For example, 1, 2, 3, 4 or 5 for the S5
> > >> > soft-off state) is passed to the _PTS control method. This method
> > >> > is called after OSPM has notified native device drivers of the sleep
> > >> > state transition and before the OSPM has had a chance to fully
> > >> > prepare the system for a sleep state transition.
> > >> >
> > >> > The _PTS control method provides the BIOS a mechanism for
> > performing
> > >> > some housekeeping, such as writing the sleep type value to the
> > >> embedded
> > >> > controller, before entering the system sleeping state.
> > >> >
> > >> > According to section 7.5 of acpi 6.0 spec, _PTS should run after _TTS.
> > >> >
> > >> > Thus, a _PTS block notifier is added to the reboot notifier list so that
> > >> > the _PTS object will also be evaluated when the system reboot.
> > >>
> > >> So I understand why it may be necessary to evaluate _PTS before
> > entering
> > >> S5,
> > >> but I'm totally unsure about reboot.
> > >>
> > >> What does reboot have to do with S5?
> > >>
> > > In ACPI spec, there is no explicit words saying _PTS should be
> > > executed when reboot. But reboot could be equal to the
> > > process S0->S5->S0.
> > 
> > Not in general.
> > 
> > In particular, wakeup devices that would be set up for S5 need not be
> > set up for that.  Also the mechanism by which transitions to S5 are
> > entered is different from the reboot one, at least from the OS
> > perspective.
> > 
> > > Thus _PTS should be executed when reboot.
> > 
> > No, it doesn't follow.
> > 
> > > I am thinking this is the same as _TTS. In ACPI spec, there is also
> > > no explicit words saying _TTS should be executed when reboot.
> > > But kernel executes _TTS when reboot indeed.
> > 
> > Yes, it does.  Maybe it shouldn't?
> > 
> > It may not hurt to call _PTS before reboot too, but is it guaranteed
> > to work across the board on all systems everywhere?
> > 
> I try to clarify the key point of this case: does devices should go to S5(shutdown) when reboot?
> 
> I think the answer is yes. 
> And It has no hurt to let devices go to S5 before reboot is invoked, here is the reasons:

S5 is a platform (system) state, not a device state.

You seem to be confusing platforms with devices.

> #1 The new _PTS codes block nothing thus reboot can be guaranteed to be invoked eventually.
> #2. Devices are mandatory to support S5 state, this means go to S5 could be a safe trip.
> #3 Reboot would cause devices re-initialization from the scratch.
> 
> What's your decision then? ;-)

I guess you can argue that since _TTS is already executed in the reboot
path, it might be good to execute _PTS in that path too and that might help
to avoid issues in some cases.

That is a reasonable argument, but then there still is the question if that
is not going to break anything.

I guess that cannot be answered without trying, so the simplest patch would
be to add a _PTS evaulation to the existing notifier (and maybe change the
notifiers name to reflect the fact that it's not for _TTS ony any more).

Thanks,
Rafael


  reply	other threads:[~2016-06-24 12:31 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-05-09  5:50 [PATCH] ACPI: Execute the _PTS method when system reboot Ocean HY1 He
2016-05-16  3:04 ` Ocean HY1 He
2016-05-24  6:41 ` Ocean HY1 He
2016-05-24 10:15   ` Prarit Bhargava
2016-05-30  3:28     ` Ocean HY1 He
2016-05-31  9:59       ` Prarit Bhargava
2016-06-21 23:56 ` Rafael J. Wysocki
2016-06-23 12:55   ` Ocean HY1 He
2016-06-23 13:12     ` Rafael J. Wysocki
2016-06-24  2:59       ` Ocean HY1 He
2016-06-24 12:36         ` Rafael J. Wysocki [this message]
2016-06-24  0:30     ` Zheng, Lv
2016-06-24  2:06       ` Ocean HY1 He

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=17478802.Gfb4ydscFk@vostro.rjw.lan \
    --to=rjw@rjwysocki.net \
    --cc=dtanaka@lenovo.com \
    --cc=hehy1@lenovo.com \
    --cc=lenb@kernel.org \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lv.zheng@intel.com \
    --cc=nchumbalkar@lenovo.com \
    --cc=rafael@kernel.org \
    --cc=skochar@lenovo.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