提交 ff0d6377 编写于 作者: A Anurag Kumar Vulisha 提交者: Tejun Heo

ata: ceva: Disable Device Sleep capability

Since CEVA controller does not support Device Sleep capability,
we need to clear that feature by clearing the DEVSLP bit in word78
of IDENTIFY DEVICE data. This patch does the same.
Signed-off-by: NAnurag Kumar Vulisha <anuragku@xilinx.com>
Signed-off-by: NMichal Simek <michal.simek@xilinx.com>
Signed-off-by: NTejun Heo <tj@kernel.org>
上级 e8fc8b85
...@@ -81,8 +81,26 @@ struct ceva_ahci_priv { ...@@ -81,8 +81,26 @@ struct ceva_ahci_priv {
int flags; int flags;
}; };
static unsigned int ceva_ahci_read_id(struct ata_device *dev,
struct ata_taskfile *tf, u16 *id)
{
u32 err_mask;
err_mask = ata_do_dev_read_id(dev, tf, id);
if (err_mask)
return err_mask;
/*
* Since CEVA controller does not support device sleep feature, we
* need to clear DEVSLP (bit 8) in word78 of the IDENTIFY DEVICE data.
*/
id[ATA_ID_FEATURE_SUPP] &= cpu_to_le16(~(1 << 8));
return 0;
}
static struct ata_port_operations ahci_ceva_ops = { static struct ata_port_operations ahci_ceva_ops = {
.inherits = &ahci_platform_ops, .inherits = &ahci_platform_ops,
.read_id = ceva_ahci_read_id,
}; };
static const struct ata_port_info ahci_ceva_port_info = { static const struct ata_port_info ahci_ceva_port_info = {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册