Thread (5 messages) flat view 5 messages, 3 authors, 2012-08-22

RE: [PATCH RESEND] ahci: implement aggressive SATA device sleep support

From: Huang, Shane <hidden>
Date: 2012-08-22 10:49:14

Hi David,
Am I missing the part where we actually send the command to the drive to
*enable* the DevSleep feature? And shouldn't we also read the MDAT/DETO
timings from the drive if it provides them (which it optionally can)?
Thanks for your feedback. You are right, I received the same suggestion
from copied Aaron, my v2 is already in progress with fixes to both
setting feature and MDAT/DETO.

Also, don't we need to revalidate the drive after a sleep/wake cycle?
How do we do that in the automatic/aggressive sleep case? After my
initial reading of the specs, I came to the conclusion that the *sleep*
is automatic, but the wakeup still requires careful handling (and we
need to ensure that we don't submit commands while it's asleep, etc.)?
The patch only implements the _aggressive_ SATA device sleep(to be
stated in my v2). I don't see the special handling at wakeup stage,
please tell me if you see some specific problems, if we submit commands
while it's asleep, the DevSlp will exit automatically.

Since the DevSleep line could just be a GPIO pin, I suspect we are going
to want to support platforms where it's not automatic, and we
assert/deassert it under direct software control. My test platform does
it with an ACPI call, in fact. Have you looked at that mode of operation
at all?
This patch doesn't care about the software control with PxCMD.ICC,
it only implements the _aggressive_ one.


Regards,
Shane
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help