linux/drivers/ata
David Milburn 2dc0b46b5e libata: sata_down_spd_limit should return if driver has not recorded sstatus speed
During hotplug, it is possible for 6Gbps link speed to be limited all
the way down to 1.5 Gbps which may lead to a slower link speed when
drive is re-connected.

This behavior has been seen on a Intel Lewisburg SATA controller
(8086:a1d2) with HGST HUH728080ALE600 drive where SATA link speed was
limited to 1.5 Gbps and when re-connected the link came up 3.0 Gbps.

This patch was retested on above configuration and showed the
hotplugged link to come back online at max speed (6Gbps). I did not
see the downgrade when testing on Intel C600/X79, but retested patched
linux-4.14-rc5 kernel and didn't see any side effects from this
change. Also, successfully retested hotplug on port multiplier 3Gbps
link.

tj: Minor comment updates.

Signed-off-by: David Milburn <dmilburn@redhat.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
2017-12-04 13:57:03 -08:00
..
acard-ahci.c ata: update references for libata documentation 2017-05-16 11:25:59 -04:00
ahci_brcm.c ata: ahci_brcm: Avoid writing to read-only registers 2017-06-22 16:13:00 -04: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
ahci.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
ahci.h ahci: Convert timers to use timer_setup() 2017-10-19 23:15:16 +02:00
ata_generic.c
ata_piix.c ata_piix: Add Fujitsu-Siemens Lifebook S6120 to short cable IDs 2017-09-18 20:32:02 -07:00
Kconfig License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
libahci_platform.c ata: mark expected switch fall-throughs 2017-10-23 07:06:09 -07:00
libahci.c ahci: Convert timers to use timer_setup() 2017-10-19 23:15:16 +02: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 Revert "pata_atiixp: Don't use unconnected secondary port on SB600/SB700" 2017-03-27 13:52:00 -04: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_isapnp.c
pata_it821x.c
pata_it8213.c
pata_ixp4xx_cf.c
pata_jmicron.c
pata_legacy.c
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
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_sil24.c
sata_sil.c ata: update references for libata documentation 2017-05-16 11:25:59 -04:00
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