[PATCH 04/10] sata: hardreset: retry if phys link is down
From: tj@kernel.org (Tejun Heo)
Date: 2017-01-15 23:11:00
Also in:
linux-devicetree, linux-ide, lkml
From: tj@kernel.org (Tejun Heo)
Date: 2017-01-15 23:11:00
Also in:
linux-devicetree, linux-ide, lkml
Hello, On Fri, Jan 13, 2017 at 01:37:58PM +0100, Bartosz Golaszewski wrote:
The sata core driver already retries to resume the link because some controllers ignore writes to the SControl register. We have a use case with the da850 SATA controller where at PLL0 frequency of 456MHz (needed to properly service the LCD controller) the chip becomes unstable and the hardreset operation is ignored the first time 50% of times. Retrying just the resume operation doesn't work - we need to issue the phy/wake reset again to make it work. If ata_phys_link_offline() returns true in sata_link_hardreset(), retry a couple times before really giving up.
I think it'd be better to implement the driver specific implementation rather than changing the behavior for everybody. Thanks. -- tejun