ata: libahci_platform: comply to PHY framework
authorMiquel Raynal <miquel.raynal@bootlin.com>
Tue, 4 Dec 2018 19:28:25 +0000 (20:28 +0100)
committerJens Axboe <axboe@kernel.dk>
Fri, 11 Jan 2019 21:47:45 +0000 (14:47 -0700)
commit49e54187ae0b2f9b5c0760e568a103baf4481610
tree10cf83e1256d57008954571c8561b59da2e58baf
parenta39c330d7436530151a619319f7ff6e9b3a6d8c6
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>
drivers/ata/ahci.h
drivers/ata/libahci_platform.c