• Tejun Heo's avatar
    libata-acpi: implement dev->gtf_cache and evaluate _GTF right after _STM during resume · 398e0782
    Tejun Heo authored
    On certain implementations, _GTF evaluation depends on preceding _STM
    and both can be pretty picky about the configuration.  Using _GTM
    result cached during controller initialization satisfies the most
    neurotic _STM implementation.  However, libata evaluates _GTF after
    reset during device configuration and the hardware state can be
    different from what _GTF expects and can cause evaluation failure.
    
    This patch adds dev->gtf_cache and updates ata_dev_get_GTF() such that
    it uses the cached value if available.  Cache is cleared with a call
    to ata_acpi_clear_gtf().
    
    Because for SATA ACPI nodes _GTF must be evaluated after _SDD which
    can't be done till IDENTIFY is complete, _GTF caching from
    ata_acpi_on_resume() is used only for IDE ACPI nodes.
    Signed-off-by: default avatarTejun Heo <htejun@gmail.com>
    Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
    398e0782
libata-acpi.c 18.5 KB