Florian Fainelli
eb73390ae2
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>
2018-01-17 07:52:29 -08:00
..
acard-ahci.c
ata: update references for libata documentation
2017-05-16 11:25:59 -04:00
ahci.c
ahci: Add Intel Cannon Lake PCH-H PCI ID
2018-01-11 10:09:47 -08:00
ahci.h
ahci: Allow setting a default LPM policy for mobile chipsets
2017-12-11 08:53:33 -08:00
ahci_brcm.c
ata: ahci_brcm: Recover from failures to identify devices
2018-01-17 07:52:29 -08:00
ahci_ceva.c
ata: ceva: Add SMMU support for SATA IP
2017-10-23 07:09:27 -07:00
ahci_da850.c
sata: ahci-da850: Fix some error handling paths in 'ahci_da850_probe()'
2017-08-16 07:38:27 -07:00
ahci_dm816.c
ata: ahci: add support for DaVinci DM816 SATA controller
2017-03-24 11:40:03 -04:00
ahci_imx.c
ahci: imx: Handle increased read failures for IMX53 temperature sensor in low frequency mode.
2017-11-13 12:17:43 -08:00
ahci_mtk.c
ahci: mtk: Change driver name to ahci-mtk
2017-12-04 12:35:29 -08:00
ahci_mvebu.c
ahci_octeon.c
Delete redundant return value check of platform_get_resource()
2017-03-06 15:40:59 -05:00
ahci_platform.c
ata: ahci_platform: Add shutdown handler
2017-08-04 13:34:14 -07:00
ahci_qoriq.c
ahci: qoriq: refine port register configuration
2017-12-04 12:18:08 -08:00
ahci_seattle.c
ahci_st.c
ahci_sunxi.c
ahci_tegra.c
ahci_xgene.c
ata: ahci_xgene: free structure returned by acpi_get_object_info()
2017-01-06 11:39:14 -05:00
ata_generic.c
ata_piix.c
ata_piix: constify pci_bits
2018-01-08 06:15:41 -08:00
Kconfig
ahci: Allow setting a default LPM policy for mobile chipsets
2017-12-11 08:53:33 -08:00
libahci.c
ahci: Convert timers to use timer_setup()
2017-10-19 23:15:16 +02:00
libahci_platform.c
ata: mark expected switch fall-throughs
2017-10-23 07:06:09 -07:00
libata-acpi.c
libata-core.c
libata: sata_down_spd_limit should return if driver has not recorded sstatus speed
2017-12-04 13:57:03 -08:00
libata-eh.c
Merge branch 'for-4.15' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata
2017-11-15 14:11:41 -08:00
libata-pmp.c
libata-scsi.c
libata: make static arrays const, reduces object code size
2017-09-19 11:53:11 -07:00
libata-sff.c
ata: update references for libata documentation
2017-05-16 11:25:59 -04:00
libata-trace.c
libata-transport.c
libata: transport: Remove circular dependency at free time
2017-03-06 15:24:48 -05:00
libata-transport.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
libata-zpodd.c
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
libata.h
Merge branch 'for-4.15' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata
2017-11-15 14:11:41 -08:00
Makefile
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
pata_acpi.c
pata_ali.c
pata_amd.c
cs5536: add support for IDE controller variant
2017-08-11 10:35:07 -07:00
pata_arasan_cf.c
pata_artop.c
ata: pata_artop: remove redundant initialization of pio
2017-09-18 20:24:21 -07:00
pata_at32.c
pata_atiixp.c
libata:pata_atiixp: Don't use unconnected secondary port on SB600
2018-01-08 04:02:02 -08:00
pata_atp867x.c
ata: mark expected switch fall-throughs
2017-10-23 07:06:09 -07:00
pata_bf54x.c
ata: bf54x: cut drvdata assignment
2017-05-30 11:54:36 -04:00
pata_bk3710.c
pata_bk3710: clear status bits of BMISP on chipset initialization
2017-03-30 16:13:04 +05:30
pata_cmd64x.c
pata_cmd640.c
pata_cs5520.c
pata_cs5530.c
pata_cs5535.c
pata_cs5536.c
cs5536: add support for IDE controller variant
2017-08-11 10:35:07 -07:00
pata_cypress.c
pata_efar.c
pata_ep93xx.c
ata: ep93xx: cut drvdata assignment
2017-05-30 11:54:36 -04:00
pata_falcon.c
Merge branch 'for-4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata
2017-02-21 17:21:32 -08:00
pata_ftide010.c
ata: ftide010: fix resource printing
2017-06-21 18:06:18 -04:00
pata_hpt3x2n.c
pata_hpt3x3.c
pata_hpt37x.c
pata_hpt366.c
pata_icside.c
pata_imx.c
pata: imx: support controller modes up to PIO4
2016-11-09 11:48:58 -05:00
pata_isapnp.c
pata_it821x.c
pata_it8213.c
pata_ixp4xx_cf.c
ata: pass queued command to ->sff_data_xfer method
2017-01-10 11:11:17 -05:00
pata_jmicron.c
pata_legacy.c
ata: pass queued command to ->sff_data_xfer method
2017-01-10 11:11:17 -05:00
pata_macio.c
ata: constify of_device_id structures
2017-03-06 15:18:01 -05:00
pata_marvell.c
pata_mpc52xx.c
ata: constify of_device_id structures
2017-03-06 15:18:01 -05:00
pata_mpiix.c
pata_netcell.c
pata_ninja32.c
pata_ns87410.c
pata_ns87415.c
pata_octeon_cf.c
pata_octeon_cf: use of_property_read_{bool|u32}()
2017-08-28 10:44:24 -07:00
pata_of_platform.c
ata: constify of_device_id structures
2017-03-06 15:18:01 -05:00
pata_oldpiix.c
pata_opti.c
pata_optidma.c
pata_palmld.c
pata_pcmcia.c
ata: pass queued command to ->sff_data_xfer method
2017-01-10 11:11:17 -05:00
pata_pdc202xx_old.c
pata_pdc2027x.c
pata_pdc2027x : make pdc2027x_*_timing structures const
2017-11-27 11:46:26 -08:00
pata_piccolo.c
pata_platform.c
pata_pxa.c
pata_radisys.c
pata_rb532_cf.c
ata: rb532_cf: cut drvdata assignment
2017-05-30 11:54:37 -04:00
pata_rdc.c
ata: declare ata_port_info structures as const
2017-06-12 14:06:34 -04:00
pata_rz1000.c
pata_samsung_cf.c
ata: samsung_cf: cut drvdata assignment
2017-05-30 11:54:37 -04:00
pata_sc1200.c
pata_sch.c
ata: declare ata_port_info structures as const
2017-06-12 14:06:34 -04:00
pata_serverworks.c
pata_sil680.c
pata_sis.c
pata_sl82c105.c
pata_triflex.c
pata_via.c
pdc_adma.c
ata: update references for libata documentation
2017-05-16 11:25:59 -04:00
sata_dwc_460ex.c
ata: sata_dwc_460ex: Propagate platform device ID to DMA driver
2017-11-13 12:17:11 -08:00
sata_fsl.c
ata: sata_fsl: cut drvdata assignment
2017-05-30 11:54:37 -04:00
sata_gemini.c
ata: sata_gemini: Introduce explicit IDE pin control
2017-08-11 10:32:09 -07:00
sata_gemini.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
sata_highbank.c
sata_inic162x.c
ata: declare ata_port_info structures as const
2017-06-12 14:06:34 -04:00
sata_mv.c
ata: mark expected switch fall-throughs
2017-10-23 07:06:09 -07:00
sata_nv.c
ata: update references for libata documentation
2017-05-16 11:25:59 -04:00
sata_promise.c
ata: update references for libata documentation
2017-05-16 11:25:59 -04:00
sata_promise.h
ata: update references for libata documentation
2017-05-16 11:25:59 -04:00
sata_qstor.c
ata: update references for libata documentation
2017-05-16 11:25:59 -04:00
sata_rcar.c
ata: sata_rcar: Use of_device_get_match_data() helper
2017-10-04 07:18:29 -07:00
sata_sil.c
ata: update references for libata documentation
2017-05-16 11:25:59 -04:00
sata_sil24.c
sata_sis.c
ata: update references for libata documentation
2017-05-16 11:25:59 -04:00
sata_svw.c
ata: Convert to using %pOF instead of full_name
2017-07-18 18:02:36 -04:00
sata_sx4.c
ata: update references for libata documentation
2017-05-16 11:25:59 -04:00
sata_uli.c
ata: update references for libata documentation
2017-05-16 11:25:59 -04:00
sata_via.c
sata_via: Enable optional hotplug on VT6420
2017-06-26 16:54:53 -04:00
sata_vsc.c
ata: update references for libata documentation
2017-05-16 11:25:59 -04:00
sis.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00