ahci: disable DEVSLP for Intel Valleyview
authorJacob Pan <jacob.jun.pan@linux.intel.com>
Wed, 16 Apr 2014 05:27:11 +0000 (22:27 -0700)
committerTejun Heo <tj@kernel.org>
Thu, 24 Apr 2014 14:26:26 +0000 (10:26 -0400)
commit0cf4a7d6cf23715276fcd0f1cd1cabc6a9b46942
tree5fe2093fe6dca045f7c068fb5f39548b6b419b4f
parent8a4aeec8d2d6a3edeffbdfae451cdf05cbf0fefd
ahci: disable DEVSLP for Intel Valleyview

On Intel Valleyview SoC, SATA device sleep is not reliable. When
DEVSLP is attempted on certain SSDs, port_devslp write would fail
and result in malfunction of AHCI controller. AHCI controller may
be not shown in PCI enumeration after reset. Complete power source
removal may be required to recover from this failure. So we blacklist
this device and override host device reported capabilities such that
device LPM will only attempt slumber but not DEVSLP.

Signed-off-by: Jacob Pan <jacob.jun.pan@linux.intel.com>
Acked-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
drivers/ata/ahci.c
drivers/ata/ahci.h
drivers/ata/libahci.c