summaryrefslogtreecommitdiffstats
path: root/drivers/ata/ahci.h
diff options
context:
space:
mode:
authorMiquel Raynal <miquel.raynal@bootlin.com>2018-12-04 20:28:25 +0100
committerJens Axboe <axboe@kernel.dk>2019-01-11 22:47:45 +0100
commit49e54187ae0b2f9b5c0760e568a103baf4481610 (patch)
tree10cf83e1256d57008954571c8561b59da2e58baf /drivers/ata/ahci.h
parentMerge branch 'nvme-5.0' of git://git.infradead.org/nvme into for-linus (diff)
downloadlinux-49e54187ae0b2f9b5c0760e568a103baf4481610.tar.xz
linux-49e54187ae0b2f9b5c0760e568a103baf4481610.zip
ata: libahci_platform: comply to PHY framework
Current implementation of the libahci does not take into account the new PHY framework. Correct the situation by adding a call to phy_set_mode() before phy_power_on(). PHYs should also be handled at suspend/resume time. For this, call ahci_platform_enable/disable_phys() at suspend/resume_host() time. These calls are guarded by a HFLAG (AHCI_HFLAG_SUSPEND_PHYS) that the user of the libahci driver must set manually in hpriv->flags at probe time. This is to avoid breaking users that have not been tested with this change. Reviewed-by: Hans de Goede <hdegoede@redhat.com> Suggested-by: Grzegorz Jaszczyk <jaz@semihalf.com> Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'drivers/ata/ahci.h')
-rw-r--r--drivers/ata/ahci.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/ata/ahci.h b/drivers/ata/ahci.h
index ef356e70e6de..8810475f307a 100644
--- a/drivers/ata/ahci.h
+++ b/drivers/ata/ahci.h
@@ -254,6 +254,8 @@ enum {
AHCI_HFLAG_IS_MOBILE = (1 << 25), /* mobile chipset, use
SATA_MOBILE_LPM_POLICY
as default lpm_policy */
+ AHCI_HFLAG_SUSPEND_PHYS = (1 << 26), /* handle PHYs during
+ suspend/resume */
/* ap->flags bits */