Hi Jeff,
Thanks for your feedback.
* for the !sleep case, don't writel() if the devslp value is unchanged
You are right, I will fix it in v2 together with some other improvements.
* if we are disabling sleep -- a valid case where host & device both
support it, but policy denies it -- do we need to stop the ahci engine
as is done in the enabling case?
The spec said that software shall only set DITO, MDAT, DETO when
PxCMD.ST is cleared to 0. While disabling case doesn't need stop
engine because the above requirement is unnecessary for ADSE.
Please tell me if you have concern.
Regards
Shane