public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/2] ahci: Add some controls on actual LPM capability
@ 2022-04-21  9:43 Runa Guo-oc
  2022-04-21  9:43 ` [PATCH 1/2] ahci: Add PhyRdy Change control " Runa Guo-oc
  2022-04-21  9:43 ` [PATCH 2/2] ahci: Add PxSCTL.IPM " Runa Guo-oc
  0 siblings, 2 replies; 7+ messages in thread
From: Runa Guo-oc @ 2022-04-21  9:43 UTC (permalink / raw)
  To: damien.lemoal, linux-ide, linux-kernel

On some platform, when OS enables LPM by default (eg, min_power),
then, PhyRdy Change cannot be detected if ahci supports no LPM;
DIPM Slumber request cannot be disallowed if ahci's CAP.PSC is
set to '1' and CAP.SSC is cleared to '0', which may cause ahci
to be an uncertain state (same for Partial).

In ahci spec, PhyRdy Change cannot coexist with LPM;
when CAP.PSC/SSC is cleared to '0', the PxSCTL.IPM
field must be programmed to disallow device initiated
Partial/Slumber request.

Adds suports to control these cases on actual LPM capability.

Runa Guo-oc (2):
  ahci: Add PhyRdy Change control on actual LPM capability
  ahci: Add PxSCTL.IPM control on actual LPM capability

 drivers/ata/ahci.c        |  9 +++++++++
 drivers/ata/libata-eh.c   |  4 ++++
 drivers/ata/libata-sata.c | 12 +++++++++++-
 include/linux/libata.h    |  4 ++++
 4 files changed, 28 insertions(+), 1 deletion(-)

-- 
2.7.4


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2022-04-22  9:58 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-04-21  9:43 [PATCH 0/2] ahci: Add some controls on actual LPM capability Runa Guo-oc
2022-04-21  9:43 ` [PATCH 1/2] ahci: Add PhyRdy Change control " Runa Guo-oc
2022-04-21 10:39   ` Damien Le Moal
2022-04-22  9:57     ` RunaGuo-oc
2022-04-21  9:43 ` [PATCH 2/2] ahci: Add PxSCTL.IPM " Runa Guo-oc
2022-04-21 10:53   ` Damien Le Moal
2022-04-22  9:58     ` RunaGuo-oc

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox