[patch] enable AHCI device initiated power management

Johannes Hofmann johannes.hofmann at gmx.de
Fri Mar 12 09:21:54 PST 2010

Johannes Hofmann <johannes.hofmann at gmx.de> wrote:
> Hi,
> this patch
> http://leaf.dragonflybsd.org/~hofmann/ahci_dipm.diff
> enables device initiated AHCI link power management.
> Some disks (e.g. the Intel X25-M SSD) don't support host initiated
> power management.
> Therefore also enable device initiated power management when
> ahci power management is set to "aggressive".
> This saves about 0.5W on a Thinkpad with Intel X25-M.
> * Move the currently unused function ahci_pm_set_feature() to ahci.c
>   and make it work for ATA_SATAFT_DEVIPS.
> * Use ahci_set_feature() to enable ATA_SATAFT_DEVIPS when AHCI power
>   management is set to "aggressive".
> * Set ap->link_pwr_mgmt early in ahci_port_link_pwr_mgmt() to ensure
>   it is set when ahci_set_feature() -> ahci_poll() -> ahci_port_intr()
>   is called.
> Inspired-by: Linux

I've updated the patch according to feedback from dillon on irc. The
new version
checks whether device initiated link power management is supported and
only enables it for directly attached devices. I don't know whether or
how this could work with port multipliers and it's mostly interesting
for laptops anyway.
This patch also includes the new link_pwr_state sysctl, so it's all in
one patch now.


More information about the Submit mailing list