Thread (27 messages) 27 messages, 4 authors, 2017-01-17

Re: [PATCH 04/10] sata: hardreset: retry if phys link is down

From: Bartosz Golaszewski <hidden>
Date: 2017-01-16 12:28:12
Also in: linux-arm-kernel, linux-ide, lkml

2017-01-16 0:10 GMT+01:00 Tejun Heo [off-list ref]:
Hello,

On Fri, Jan 13, 2017 at 01:37:58PM +0100, Bartosz Golaszewski wrote:
quoted
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.
For v2 I created a new ahci-locally exported function:
ahci_do_hardreset() that allows to retrieve the online state of the
link and used it in the da850-specific hardreset implementation.

Hope that'll be good.

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