Thread (21 messages) 21 messages, 2 authors, 2015-04-25

Re: SATA link power management issues

From: Gabriele Mazzotta <hidden>
Date: 2015-01-12 17:03:47
Also in: lkml

On Monday 12 January 2015 08:16:02 Tejun Heo wrote:
quoted hunk ↗ jump to hunk
Hello,

What you're experiencing looks like the ssd behaving badly after link
state transition.  I wonder whether the right solution is plugging
PHYRDY IRQ for a while after LPM state change.  Does the following
path make any difference?

Thanks.
diff --git a/drivers/ata/libahci.c b/drivers/ata/libahci.c
index 97683e4..684f45d 100644
--- a/drivers/ata/libahci.c
+++ b/drivers/ata/libahci.c
@@ -735,8 +735,8 @@ static int ahci_set_lpm(struct ata_link *link, enum ata_lpm_policy policy,
 		sata_link_scr_lpm(link, policy, false);
 
 		/* turn PHYRDY IRQ back on */
-		pp->intr_mask |= PORT_IRQ_PHYRDY;
-		writel(pp->intr_mask, port_mmio + PORT_IRQ_MASK);
+		//pp->intr_mask |= PORT_IRQ_PHYRDY;
+		//writel(pp->intr_mask, port_mmio + PORT_IRQ_MASK);
 	}
 
 	return 0;
Hi,

I tried it and got the same result:

[  451.077463] ahci 0000:00:1f.2: port does not support device sleep
[  452.162451] ata3.00: exception Emask 0x10 SAct 0x400 SErr 0x50000 action 0xe frozen
[  452.162461] ata3.00: irq_stat 0x00400008, PHY RDY changed
[  452.162467] ata3: SError: { PHYRdyChg CommWake }
[  452.162473] ata3.00: failed command: WRITE FPDMA QUEUED
[  452.162484] ata3.00: cmd 61/58:50:98:7c:4b/00:00:17:00:00/40 tag 10 ncq 45056 out
         res 40/00:54:98:7c:4b/00:00:17:00:00/40 Emask 0x10 (ATA bus error)
[  452.162489] ata3.00: status: { DRDY }
[  452.162497] ata3: hard resetting link
[  452.886958] ata3: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
[  452.890384] ata3.00: configured for UDMA/133
[  452.902976] ahci 0000:00:1f.2: port does not support device sleep
[  452.903002] ata3: EH complete

Gabriele
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help