]> git.baikalelectronics.ru Git - kernel.git/commit
ata: libahci: Adjust behavior when StorageD3Enable _DSD is set
authorMario Limonciello <mario.limonciello@amd.com>
Fri, 12 Nov 2021 20:15:39 +0000 (14:15 -0600)
committerDamien Le Moal <damien.lemoal@opensource.wdc.com>
Thu, 18 Nov 2021 05:34:25 +0000 (14:34 +0900)
commit635088007efb364ec7dff422d10be1322a954c86
tree9614d100a46d7028f216b683a989e5c07ab51c5b
parentd026345f2169ad4e3ccc9d1bc0b046728d207f57
ata: libahci: Adjust behavior when StorageD3Enable _DSD is set

The StorageD3Enable _DSD is used for the vendor to indicate that the disk
should be opted into or out of a different behavior based upon the platform
design.

For AMD's Renoir and Green Sardine platforms it's important that any
attached SATA storage has transitioned into DevSlp when s2idle is used.

If the disk is left in active/partial/slumber, then the system is not able
to resume properly.

When the StorageD3Enable _DSD is detected, check the system is using s2idle
and DevSlp is enabled and if so explicitly wait long enough for the disk to
enter DevSlp.

Cc: Nehal-bakulchandra Shah <Nehal-bakulchandra.Shah@amd.com>
BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=214091
Link: https://docs.microsoft.com/en-us/windows-hardware/design/component-guidelines/power-management-for-storage-hardware-devices-intro
Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
Signed-off-by: Damien Le Moal <damien.lemoal@opensource.wdc.com>
drivers/ata/libahci.c