Linus, The following changes since commit d0b3b7b22dfa1f4b515fd3a295b3fd958f9e81af: Linux 6.16-rc4 (2025-06-29 13:09:04 -0700) are available in the Git repository at: ssh://git@xxxxxxxxxxxxxxxxxxx/pub/scm/linux/kernel/git/libata/linux tags/ata-6.17-rc1 for you to fetch changes up to 546527b92d7e72dcd827675a2d3e580002b09cc1: Documentation: driver-api: Update libata error handler information (2025-07-16 09:31:43 +0200) ---------------------------------------------------------------- ata changes for 6.17-rc1 - Replace the ATA_DFLAG_ZAC device flag with the helper function ata_dev_is_zac() testing directly the device class and device zoned mode (me). - Some small cleanup of ata_scsi_offline_dev() code (me). - Improve the description of the link power management (LPM) policies in Kconfig and in the comments defining these. Together with this, clarify the description of the ahci driver mobile_lpm_policy module parameter (me). - Various code refactoring of libata LPM handling (ata_eh_set_lpm() renaming, introduce ata_dev_config_lpm(), LPM related quirk handling, and LPM related feature advertizing on device scan) (me). - Avoid unnecessary device reset when revalidating after an error when LPM is used (me). - Do not allow setting a port/link LPM policy if LPM is not supported, either because the controller does not support partial, slumber nor devsleep, or when the port is an external port with hotplug capability (me). - Make sure that device initiated power management (DIPM) is not enabled if the host (controller) lacks support for this feature (me). - Improve messages and debug messages related to LPM, in particular, reduce the number of messages signaling the lack of LPM support (me). - Cache in memory a device general purpose log directory to avoid having to access this log for every log page access. The intent here is to reduce the number of read log commands when scanning or revalidating a device (me). - Change ata_dev_cleanup_cdl_resources() to be a static function (me). - Rename and simplify the mode setting functions (me). - Introduce the helper function ata_port_eh_scheduled() to check if EH is pending or running for a port (me) - Improve ata_eh_set_pending() (return bool instead of int) (me). - Use sysfs_emit() instead of scnprintf() for libata-transport attributes (Jonathan). - Use the existing macro definiton of RDC vendor ID instead of hardcoding it in the pata_rdc driver (Andy). - Rework how EH is called for a port to avoid needing to pass along the prereset, softreset, hardreset and postreset operations. The driver API documentation for this is also updated (me). ---------------------------------------------------------------- Andy Shevchenko (1): ata: pata_rdc: Use registered definition for the RDC vendor Damien Le Moal (26): ata: libata: Remove ATA_DFLAG_ZAC device flag ata: libata-scsi: Cleanup ata_scsi_offline_dev() ata: Fix SATA_MOBILE_LPM_POLICY description in Kconfig ata: libata: Improve LPM policies description ata: ahci: Clarify mobile_lpm_policy description ata: libata-eh: Move and rename ata_eh_set_lpm() ata: libata-core: Introduce ata_dev_config_lpm() ata: libata-core: Move device LPM quirk settings to ata_dev_config_lpm() ata: libata-core: Advertize device support for DIPM and HIPM features ata: libata-eh: Avoid unnecessary resets when revalidating devices ata: libata-sata: Disallow changing LPM state if not supported ata: ahci: Disable DIPM if host lacks support ata: ahci: Disallow LPM policy control for external ports ata: ahci: Disallow LPM policy control if not supported ata: libata-core: Reduce the number of messages signaling broken LPM ata: libata_eh: Add debug messages to ata_eh_link_set_lpm() ata: libata-core: Cache the general purpose log directory ata: libata-core: Make ata_dev_cleanup_cdl_resources() static ata: libata-eh: Rename and make ata_set_mode() static ata: libata-core: Rename ata_do_set_mode() ata: libata: Introduce ata_port_eh_scheduled() ata: libata-eh: use bool for fastdrain in ata_eh_set_pending() ata: libata-eh: Make ata_eh_followup_srst_needed() return a bool ata: libata-eh: Remove ata_do_eh() ata: libata-eh: Simplify reset operation management Documentation: driver-api: Update libata error handler information Jonathan Velez (1): ata: libata-transport: replace scnprintf with sysfs_emit for simple attributes Documentation/driver-api/libata.rst | 25 +- drivers/ata/Kconfig | 36 ++- drivers/ata/ahci.c | 25 +- drivers/ata/ahci_da850.c | 6 +- drivers/ata/ahci_dm816.c | 2 +- drivers/ata/ahci_imx.c | 13 +- drivers/ata/ahci_qoriq.c | 4 +- drivers/ata/ahci_xgene.c | 8 +- drivers/ata/ata_piix.c | 4 +- drivers/ata/libahci.c | 10 +- drivers/ata/libata-core.c | 137 +++++++--- drivers/ata/libata-eh.c | 433 ++++++++++++++++---------------- drivers/ata/libata-pmp.c | 26 +- drivers/ata/libata-sata.c | 7 +- drivers/ata/libata-scsi.c | 25 +- drivers/ata/libata-sff.c | 18 +- drivers/ata/libata-transport.c | 4 +- drivers/ata/libata.h | 24 +- drivers/ata/pata_acpi.c | 2 +- drivers/ata/pata_ali.c | 10 +- drivers/ata/pata_amd.c | 4 +- drivers/ata/pata_artop.c | 4 +- drivers/ata/pata_atiixp.c | 2 +- drivers/ata/pata_efar.c | 2 +- drivers/ata/pata_ep93xx.c | 4 +- drivers/ata/pata_hpt366.c | 2 +- drivers/ata/pata_hpt37x.c | 4 +- drivers/ata/pata_hpt3x2n.c | 2 +- drivers/ata/pata_icside.c | 2 +- drivers/ata/pata_it8213.c | 2 +- drivers/ata/pata_jmicron.c | 2 +- drivers/ata/pata_marvell.c | 2 +- drivers/ata/pata_mpiix.c | 2 +- drivers/ata/pata_ns87410.c | 2 +- drivers/ata/pata_octeon_cf.c | 2 +- drivers/ata/pata_oldpiix.c | 2 +- drivers/ata/pata_opti.c | 2 +- drivers/ata/pata_optidma.c | 6 +- drivers/ata/pata_parport/pata_parport.c | 4 +- drivers/ata/pata_pcmcia.c | 4 +- drivers/ata/pata_pdc2027x.c | 4 +- drivers/ata/pata_rdc.c | 6 +- drivers/ata/pata_sis.c | 2 +- drivers/ata/pata_sl82c105.c | 2 +- drivers/ata/pata_triflex.c | 2 +- drivers/ata/pata_via.c | 2 +- drivers/ata/pdc_adma.c | 2 +- drivers/ata/sata_dwc_460ex.c | 2 +- drivers/ata/sata_fsl.c | 6 +- drivers/ata/sata_highbank.c | 2 +- drivers/ata/sata_inic162x.c | 2 +- drivers/ata/sata_mv.c | 10 +- drivers/ata/sata_nv.c | 2 +- drivers/ata/sata_promise.c | 4 +- drivers/ata/sata_qstor.c | 4 +- drivers/ata/sata_rcar.c | 2 +- drivers/ata/sata_sil.c | 2 +- drivers/ata/sata_sil24.c | 8 +- drivers/ata/sata_svw.c | 4 +- drivers/ata/sata_sx4.c | 2 +- drivers/ata/sata_uli.c | 2 +- drivers/ata/sata_via.c | 4 +- drivers/scsi/libsas/sas_ata.c | 4 +- include/linux/libata.h | 54 ++-- 64 files changed, 565 insertions(+), 444 deletions(-)