* 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 a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox