* SATA link issue with Marvell 9170
@ 2014-04-01 21:17 Biji John
2014-04-02 17:16 ` tj
2014-04-03 5:10 ` Robert Hancock
0 siblings, 2 replies; 4+ messages in thread
From: Biji John @ 2014-04-01 21:17 UTC (permalink / raw)
To: tj@kernel.org; +Cc: linux-ide@vger.kernel.org
Tejun,
I'm running into an intermittent issue while trying to run one of our boards. It has the Marvell 9170 SATA controller connected to one of our PCIe buses. On the other side is an MSATA device. I'm running kernel 3.4.76. Intermittently, the link will not come up, it looks like the driver tries to bring the link up at 3Gbps, and then eventually fails, and the kernel will hang waiting for the root device. From doing a Google search, I noticed that this version of the ahci driver does not have the entries for 9170 (and 9178) in ahci_pci_tbl. Is this expected behavior? After adding the following patch, I'm seeing improvement, and am wondering how the patch might be helping in this regard.
{ PCI_DEVICE(0x1b4b, 0x9170),
.driver_data = board_ahci_yes_fbs }, /* 88se9170 */
Thanks in advance for your help.
-Biji
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: SATA link issue with Marvell 9170
2014-04-01 21:17 SATA link issue with Marvell 9170 Biji John
@ 2014-04-02 17:16 ` tj
2014-04-03 5:10 ` Robert Hancock
1 sibling, 0 replies; 4+ messages in thread
From: tj @ 2014-04-02 17:16 UTC (permalink / raw)
To: Biji John; +Cc: linux-ide@vger.kernel.org
Hello,
On Tue, Apr 01, 2014 at 09:17:35PM +0000, Biji John wrote:
> I'm running into an intermittent issue while trying to run one of
> our boards. It has the Marvell 9170 SATA controller connected to one
> of our PCIe buses. On the other side is an MSATA device. I'm running
> kernel 3.4.76. Intermittently, the link will not come up, it looks
> like the driver tries to bring the link up at 3Gbps, and then
> eventually fails, and the kernel will hang waiting for the root
> device. From doing a Google search, I noticed that this version of
> the ahci driver does not have the entries for 9170 (and 9178) in
> ahci_pci_tbl. Is this expected behavior? After adding the following
> patch, I'm seeing improvement, and am wondering how the patch might
> be helping in this regard.
>
> { PCI_DEVICE(0x1b4b, 0x9170),
> .driver_data = board_ahci_yes_fbs }, /* 88se9170 */
So, if the device doesn't have a specific entry, it'd use the default
board_ahci entry. The only difference is whether FBS is turned on for
port multipliers. The change that you made above is highly unlikely
to make any difference for initialing link init and probing. Does it
work reliably with libata.force=1.5Gbps?
Thanks.
--
tejun
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: SATA link issue with Marvell 9170
2014-04-01 21:17 SATA link issue with Marvell 9170 Biji John
2014-04-02 17:16 ` tj
@ 2014-04-03 5:10 ` Robert Hancock
2014-04-03 5:48 ` Biji John
1 sibling, 1 reply; 4+ messages in thread
From: Robert Hancock @ 2014-04-03 5:10 UTC (permalink / raw)
To: Biji John, tj@kernel.org; +Cc: linux-ide@vger.kernel.org
On 01/04/14 03:17 PM, Biji John wrote:
> Tejun,
>
> I'm running into an intermittent issue while trying to run one of our boards. It has the Marvell 9170 SATA controller connected to one of our PCIe buses. On the other side is an MSATA device. I'm running kernel 3.4.76. Intermittently, the link will not come up, it looks like the driver tries to bring the link up at 3Gbps, and then eventually fails, and the kernel will hang waiting for the root device. From doing a Google search, I noticed that this version of the ahci driver does not have the entries for 9170 (and 9178) in ahci_pci_tbl. Is this expected behavior? After adding the following patch, I'm seeing improvement, and am wondering how the patch might be helping in this regard.
>
> { PCI_DEVICE(0x1b4b, 0x9170),
> .driver_data = board_ahci_yes_fbs }, /* 88se9170 */
Are you sure this is actually having a consistent effect? Relative to
the default AHCI behavior that you'd be getting without out it, all this
does is enable FIS-based switching, which should only make any
difference if you had a port multiplier connected. That does result in
the FBS enable bit being set for the port, but it seems odd that this
would be fixing something.
^ permalink raw reply [flat|nested] 4+ messages in thread* RE: SATA link issue with Marvell 9170
2014-04-03 5:10 ` Robert Hancock
@ 2014-04-03 5:48 ` Biji John
0 siblings, 0 replies; 4+ messages in thread
From: Biji John @ 2014-04-03 5:48 UTC (permalink / raw)
To: Robert Hancock, tj@kernel.org; +Cc: linux-ide@vger.kernel.org
It seems to be having a consistent effect so far. I'm running boot-up iterations now to see how well it holds up, and will keep running it for a few days. I'm wondering if the difference in behavior might be due to an indirect delay in the code flow that might be giving the link additional time to come up.
Also, I ran another set of experiments with the following mod in ata_wait_ready(), and that held up as well. Interestingly, I saw the link come up at a reduced speed intermittently (3 and 1.5).
//ata_msleep(link->ap, 50);
ata_msleep(link->ap, 500);
I'll also run the libata.force experiment that Tejun suggested.
Thanks.
-Biji
________________________________________
From: Robert Hancock [hancockrwd@gmail.com]
Sent: Wednesday, April 02, 2014 10:10 PM
To: Biji John; tj@kernel.org
Cc: linux-ide@vger.kernel.org
Subject: Re: SATA link issue with Marvell 9170
On 01/04/14 03:17 PM, Biji John wrote:
> Tejun,
>
> I'm running into an intermittent issue while trying to run one of our boards. It has the Marvell 9170 SATA controller connected to one of our PCIe buses. On the other side is an MSATA device. I'm running kernel 3.4.76. Intermittently, the link will not come up, it looks like the driver tries to bring the link up at 3Gbps, and then eventually fails, and the kernel will hang waiting for the root device. From doing a Google search, I noticed that this version of the ahci driver does not have the entries for 9170 (and 9178) in ahci_pci_tbl. Is this expected behavior? After adding the following patch, I'm seeing improvement, and am wondering how the patch might be helping in this regard.
>
> { PCI_DEVICE(0x1b4b, 0x9170),
> .driver_data = board_ahci_yes_fbs }, /* 88se9170 */
Are you sure this is actually having a consistent effect? Relative to
the default AHCI behavior that you'd be getting without out it, all this
does is enable FIS-based switching, which should only make any
difference if you had a port multiplier connected. That does result in
the FBS enable bit being set for the port, but it seems odd that this
would be fixing something.
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2014-04-03 5:48 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-04-01 21:17 SATA link issue with Marvell 9170 Biji John
2014-04-02 17:16 ` tj
2014-04-03 5:10 ` Robert Hancock
2014-04-03 5:48 ` Biji John
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.