]> git.karo-electronics.de Git - karo-tx-linux.git/commit
sata: ahci-da850: add a workaround for controller instability
authorBartosz Golaszewski <bgolaszewski@baylibre.com>
Mon, 30 Jan 2017 10:02:07 +0000 (11:02 +0100)
committerSekhar Nori <nsekhar@ti.com>
Tue, 31 Jan 2017 12:18:29 +0000 (17:48 +0530)
commitd3d557cf646c52add72d050790bdf41670c96bab
tree5140b65fefba9d172d1ddff342655c4835530cfc
parentd436501e06792dd44101e0e45c32f6c1ea965acb
sata: ahci-da850: add a workaround for controller instability

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.

The sata core driver already retries to resume the link because some
controllers ignore writes to the SControl register, but just retrying
the resume operation doesn't work - we need to issue he phy/wake reset
again to make it work.

Reimplement ahci_hardreset() in the driver and poke the controller a
couple times before really giving up.

Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
Acked-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
drivers/ata/ahci_da850.c