ata: ceva: Correct the suspend and resume logic for SATA
authorAnurag Kumar Vulisha <anurag.kumar.vulisha@xilinx.com>
Mon, 21 Aug 2017 11:17:23 +0000 (13:17 +0200)
committerTejun Heo <tj@kernel.org>
Mon, 23 Oct 2017 14:09:27 +0000 (07:09 -0700)
commit26bf3b6658a2137cd6a88b2f14f36d3c31c7b2ee
tree2968285e498e8bb86546c588c4ca499f80256df1
parent6e037fb7708653035adbcd739ac295b9744e06cf
ata: ceva: Correct the suspend and resume logic for SATA

The present suspend code disables the port interrupts
and stops the HBA. On resume it enables the interrupts and HBA.
This works fine until the FPD power domain is not off.
If FPD is off then the ceva vendor specific configurations like
OOB, AXI settings are lost, they need to be re-programmed and
also since SERDES is also in FPD , SATA lane phy init needs to
be called again (which is not happening in the present sequence)
Because of this incorrect sequence SATA fails to work on resume.

This patch corrects the code to make Suspend & Resume work in normal
and FPD off cases.

Signed-off-by: Anurag Kumar Vulisha <anuragku@xilinx.com>
Reviewed-by: Shubhrajyoti Datta <shubhraj@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
drivers/ata/ahci_ceva.c