2017-01-16 0:10 GMT+01:00 Tejun Heo <tj@xxxxxxxxxx>: > 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. > 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 -- To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html