OSDN Git Service

ata: ahci_brcm: Recover from failures to identify devices
authorFlorian Fainelli <f.fainelli@gmail.com>
Fri, 12 Jan 2018 01:31:08 +0000 (17:31 -0800)
committerTejun Heo <tj@kernel.org>
Wed, 17 Jan 2018 15:52:29 +0000 (07:52 -0800)
commiteb73390ae2413bbd5d56a396dfd79fe57de6b5ae
treebee3bca6ea2e4705347044af06b86d926680d122
parent3e507769d15e4b14b5a3688d7f5cba516cb4e72d
ata: ahci_brcm: Recover from failures to identify devices

When powering up, the SATA controller may fail to mount the HDD. The SATA
controller will lock up, preventing it from negotiating to a lower speed or
transmitting data. Root cause is power supply noise creating resonance at 6 Ghz
and 3 GHz frequencies, which causes instability in the Clock-Data Recovery
(CDR) frontend module, resulting in false acquisition of the clock at SATA
6G/3G speeds.

The SATA controller may fail to mount the HDD and lock up, requiring a power
cycle. Broadcom chips suspected of being susceptible to this issue include
BCM7445, BCM7439, and BCM7366.

The Kernel implements an error recovery mechanism that resets the SATA PHY and
digital controller when the controller locks up. During this error recovery
process, typically there is less activity on the board and Broadcom STB chip,
so that the power supply is less noisy, thus allowing the SATA controller to
lock correctly.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
drivers/ata/ahci_brcm.c