[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1329288365.3104.34.camel@minggr>
Date: Wed, 15 Feb 2012 14:46:05 +0800
From: Lin Ming <ming.m.lin@...el.com>
To: Aaron Lu <aaron.lu@....com>
Cc: Zhang Rui <rui.zhang@...el.com>, Jeff Garzik <jgarzik@...ox.com>,
Alan Stern <stern@...land.harvard.edu>,
Tejun Heo <tj@...nel.org>, "Rafael J. Wysocki" <rjw@...k.pl>,
Len Brown <lenb@...nel.org>, linux-kernel@...r.kernel.org,
linux-ide@...r.kernel.org, linux-scsi@...r.kernel.org,
linux-pm@...r.kernel.org
Subject: Re: [RFC PATCH 6/6] libata: add ZPODD support
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@...el.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?
>
> > 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@...el.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-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists