public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Aaron Lu <aaron.lu@amd.com>
To: Lin Ming <ming.m.lin@intel.com>
Cc: Zhang Rui <rui.zhang@intel.com>, Jeff Garzik <jgarzik@pobox.com>,
	Alan Stern <stern@rowland.harvard.edu>, Tejun Heo <tj@kernel.org>,
	"Rafael J. Wysocki" <rjw@sisk.pl>, Len Brown <lenb@kernel.org>,
	<linux-kernel@vger.kernel.org>, <linux-ide@vger.kernel.org>,
	<linux-scsi@vger.kernel.org>, <linux-pm@vger.kernel.org>
Subject: Re: [RFC PATCH 6/6] libata: add ZPODD support
Date: Wed, 15 Feb 2012 15:18:19 +0800	[thread overview]
Message-ID: <20120215071818.GA10754@ladygaga> (raw)
In-Reply-To: <1329288365.3104.34.camel@minggr>

On Wed, Feb 15, 2012 at 02:46:05PM +0800, Lin Ming wrote:
> On Wed, 2012-02-15 at 14:06 +0800, Aaron Lu wrote:
> > Hi,
> > 
> > Good work, I'm also working on ZPODD for AMD platforms, some comments below.
> 
> Great :)
> 
> > 
> > On Mon, Feb 13, 2012 at 5:11 PM, Lin Ming <ming.m.lin@intel.com> wrote:
> > > ZPODD(Zero Power Optical Disk Drive) is a new feature in
> > > SATA 3.1 specification. It provides a way to power off unused CDROM.
> > 
> > I don't see anywhere in the sata 3.1 spec mentioned how to power off the
> > cdrom, the only relevant content is the newly defined device attention pin,
> > which is used to notify the host that this powered off device needs attention.
> > Or do I miss something?
> 
> You're right.
> 
> > 
> > >
> > > CDROM is powered off by executing ACPI power resource's _OFF method.
> > >
> > 
> > AMD has a different implementation to power off the CDROM, I'll need to
> > prepare another patch based on yours.
> 
> Could you share AMD's implementation?
>

Sure.
We have defined a special device, named ODDZ, under the SATA scope in the
DSDT table. So basically, the existence of device ODDZ means the support
of ZPODD at the platform level. And there are the _PS0 and _PS3 control
methods under device ODDZ to power on/off the attached cdrom.
The code is not ready yet, I'm still working on it.

Thanks,
Aaron

> > 
> > > When CDROM is powered off(D3Cold state), inserting disk will trigger a
> > > wakeup event(GPE). GPE AML handler notifies the associated device. Then
> > > CDROM is resumed in the notify handler.
> > >
> > > Signed-off-by: Lin Ming <ming.m.lin@intel.com>
> > > ---
> > >  drivers/ata/libata-acpi.c |   64 +++++++++++++++++++++++++++++++++++++-------
> > >  drivers/scsi/sr.c         |   39 +++++++++++++++++++++++++++
> > >  drivers/scsi/sr.h         |    3 ++
> > >  3 files changed, 95 insertions(+), 11 deletions(-)
> > >
> > > diff --git a/drivers/scsi/sr.c b/drivers/scsi/sr.c
> > > index 5fc97d2..bf4eace 100644
> > > --- a/drivers/scsi/sr.c
> > > +++ b/drivers/scsi/sr.c
> > > @@ -716,6 +752,9 @@ static int sr_probe(struct device *dev)
> > >        disk->flags |= GENHD_FL_REMOVABLE;
> > >        add_disk(disk);
> > >
> > > +       if (device_run_wake(dev))
> > > +               cd->zpodd = 1;
> > > +
> > 
> > For a cd to support zero power, it has to support device attention pin.
> > If it does not support that, once it is powered off, it can't be power up
> > back. So I don't think device_run_wake is enough to set the zpodd flag,
> > unless your firmware has done the check and created the acpi table
> > according to the result. Is it the case?
> 
> I should add device attention pin check.
> 
> Thanks for the comments.
> Lin Ming
> 
> > 
> > Thanks,
> > Aaron
> 
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-pm" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 


      reply	other threads:[~2012-02-15  7:18 UTC|newest]

Thread overview: 50+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-02-13  9:11 [RFC] ACPI D3Cold state and SATA ZPODD support Lin Ming
2012-02-13  9:11 ` [RFC PATCH 1/6] ACPI: Introduce ACPI D3_COLD state support Lin Ming
2012-02-13 20:25   ` Rafael J. Wysocki
2012-02-14  7:07     ` Zhang Rui
2012-02-14 22:29       ` Rafael J. Wysocki
2012-02-16  7:08         ` Zhang Rui
2012-02-17 22:23           ` Rafael J. Wysocki
2012-02-20  5:39             ` Zhang Rui
2012-02-13  9:11 ` [RFC PATCH 2/6] ACPI: Reference devices in ACPI Power Resource Lin Ming
2012-02-13 20:48   ` Rafael J. Wysocki
2012-02-14  7:59     ` Zhang Rui
2012-02-14 22:36       ` Rafael J. Wysocki
2012-02-16  7:18         ` Zhang Rui
2012-02-16 15:13           ` Alan Stern
2012-02-17  1:12             ` Lin Ming
2012-02-17 22:37               ` Rafael J. Wysocki
2012-02-17  7:05             ` Zhang, Rui
2012-02-17 15:07               ` Alan Stern
2012-02-21 14:07                 ` Lin Ming
2012-02-21 16:06                   ` Alan Stern
2012-02-23 13:41                     ` Lin Ming
2012-02-23 18:10                       ` Alan Stern
2012-02-17 22:34           ` Rafael J. Wysocki
2012-02-20  5:43             ` Zhang Rui
2012-02-13  9:11 ` [RFC PATCH 3/6] ACPI: Runtime resume all devices covered by a power resource Lin Ming
2012-02-13  9:11 ` [RFC PATCH 4/6] PM / Runtime: Introduce flag can_power_off Lin Ming
2012-02-13 15:01   ` Alan Stern
2012-02-13 19:38     ` Rafael J. Wysocki
2012-02-13 20:41       ` Alan Stern
2012-02-13 20:50         ` Rafael J. Wysocki
2012-02-14  7:11         ` Zhang Rui
2012-02-14 22:38           ` Rafael J. Wysocki
2012-02-14  6:17       ` Zhang Rui
2012-02-14 22:39         ` Rafael J. Wysocki
2012-02-16  7:41           ` Zhang Rui
2012-02-17 23:54             ` Rafael J. Wysocki
2012-02-18 12:54               ` huang ying
2012-02-18 20:35                 ` Rafael J. Wysocki
2012-02-20  3:23               ` Zhang Rui
2012-02-20 23:13                 ` Rafael J. Wysocki
2012-02-21  1:13                   ` Zhang Rui
2012-02-21 21:43                     ` Rafael J. Wysocki
2012-02-22  0:57                       ` Zhang Rui
2012-02-14  6:07     ` Zhang Rui
2012-02-13  9:11 ` [RFC PATCH 5/6] PCI: Move acpi_dev_run_wake to acpi core Lin Ming
2012-02-13 20:49   ` Rafael J. Wysocki
2012-02-13  9:11 ` [RFC PATCH 6/6] libata: add ZPODD support Lin Ming
2012-02-15  6:06   ` Aaron Lu
2012-02-15  6:46     ` Lin Ming
2012-02-15  7:18       ` Aaron Lu [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=20120215071818.GA10754@ladygaga \
    --to=aaron.lu@amd.com \
    --cc=jgarzik@pobox.com \
    --cc=lenb@kernel.org \
    --cc=linux-ide@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=ming.m.lin@intel.com \
    --cc=rjw@sisk.pl \
    --cc=rui.zhang@intel.com \
    --cc=stern@rowland.harvard.edu \
    --cc=tj@kernel.org \
    /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