[libata] Link power management infrastructure

Device Initiated Power Management, which is defined
in SATA 2.5 can be enabled for disks which support it.
This patch enables DIPM when the user sets the link
power management policy to "min_power".

Additionally, libata drivers can define a function
(enable_pm) that will perform hardware specific actions to
enable whatever power management policy the user set up
for Host Initiated Power management (HIPM).
This power management policy will be activated after all
disks have been enumerated and intialized.  Drivers should
also define disable_pm, which will turn off link power
management, but not change link power management policy.

Documentation/scsi/link_power_management_policy.txt has additional
information.

Signed-off-by:  Kristen Carlson Accardi <[email protected]>
Signed-off-by: Jeff Garzik <[email protected]>
This commit is contained in:
Kristen Carlson Accardi 2007-10-25 00:58:59 -04:00 • committed by Jeff Garzik
commit ca77329fb7
7 changed files with 329 additions and 2 deletions

View file

@ -0,0 +1,19 @@
This parameter allows the user to set the link (interface) power management.
There are 3 possible options:
Value Effect
----------------------------------------------------------------------------
min_power Tell the controller to try to make the link use the
least possible power when possible. This may
sacrifice some performance due to increased latency
when coming out of lower power states.
max_performance Generally, this means no power management. Tell
the controller to have performance be a priority
over power management.
medium_power Tell the controller to enter a lower power state
when possible, but do not enter the lowest power
state, thus improving latency over min_power setting.