This series removes the long link debounce delays by default for all adapters, except for those known to require these delays (e.g. ata_piix). The first 2 patches are code cleanup improving the interface of several functions handling delays. Patch 3 removes the long delay in sata_link_resume() and reverses the link flag ATA_LFLAG_NO_DEBOUNCE_DELAY to ATA_LFLAG_DEBOUNCE_DELAY for adapters to request the delay if needed. Patch 4 improves sata_link_debounce() by shortening the link stability test, unless the link has the ATA_LFLAG_DEBOUNCE_DELAY flag set. This series was tested on a machine with 2 AHCI adapters (Intel and Marvell) with a port-multiplier box attached to cover that case too. Comments and lots of testing are welcome ! Damien Le Moal (4): ata: libata-sata: Simplify sata_link_resume() interface ata: libata-sata: Introduce struct sata_deb_timing ata: libata-sata: Remove debounce delay by default ata: libata-sata: Improve sata_link_debounce() drivers/ata/ahci.c | 19 ++---- drivers/ata/ahci_brcm.c | 1 - drivers/ata/ahci_qoriq.c | 5 +- drivers/ata/ahci_xgene.c | 3 +- drivers/ata/ata_generic.c | 1 + drivers/ata/ata_piix.c | 17 +++++ drivers/ata/libahci.c | 5 +- drivers/ata/libata-core.c | 8 +-- drivers/ata/libata-pmp.c | 2 +- drivers/ata/libata-sata.c | 129 +++++++++++++++++++++++++----------- drivers/ata/libata-sff.c | 6 +- drivers/ata/sata_highbank.c | 4 +- drivers/ata/sata_inic162x.c | 3 +- drivers/ata/sata_mv.c | 8 +-- drivers/ata/sata_nv.c | 5 +- drivers/ata/sata_sil24.c | 2 +- include/linux/libata.h | 44 +++++++----- 17 files changed, 161 insertions(+), 101 deletions(-) -- 2.35.1