Commit 62ba2841 authored by Tejun Heo's avatar Tejun Heo Committed by Jeff Garzik

[PATCH] libata: lengthen COMMRESET delay

This patch lengthens the delay between DET setting and clearing for
COMMRESET from 400us to 1ms.  I couldn't find any requiremen regarding
the duration of COMMRESET in SATA I/II specs but AHCI-1.1 10.4.2
states that it should be at least 1ms.
Signed-off-by: default avatarTejun Heo <htejun@gmail.com>
parent e922256a
...@@ -1408,7 +1408,9 @@ void __sata_phy_reset(struct ata_port *ap) ...@@ -1408,7 +1408,9 @@ void __sata_phy_reset(struct ata_port *ap)
if (ap->flags & ATA_FLAG_SATA_RESET) { if (ap->flags & ATA_FLAG_SATA_RESET) {
/* issue phy wake/reset */ /* issue phy wake/reset */
scr_write_flush(ap, SCR_CONTROL, 0x301); scr_write_flush(ap, SCR_CONTROL, 0x301);
udelay(400); /* FIXME: a guess */ /* Couldn't find anything in SATA I/II specs, but
* AHCI-1.1 10.4.2 says at least 1 ms. */
mdelay(1);
} }
scr_write_flush(ap, SCR_CONTROL, 0x300); /* phy wake/clear reset */ scr_write_flush(ap, SCR_CONTROL, 0x300); /* phy wake/clear reset */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment