• Kai-Heng Feng's avatar
    ALSA: hda: Separate runtime and system suspend · f5dac54d
    Kai-Heng Feng authored
    Both pm_runtime_force_suspend() and pm_runtime_force_resume() have
    some implicit checks, so it can make code flow more straightforward if
    we separate runtime and system suspend callbacks.
    
    High Definition Audio Specification, 4.5.9.3 Codec Wake From System S3
    states that codec can wake the system up from S3 if WAKEEN is toggled.
    Since HDA controller has different wakeup settings for runtime and
    system susend, we also need to explicitly disable direct-complete which
    can be enabled automatically by PCI core. In addition to that, avoid
    waking up codec if runtime resume is for system suspend, to not break
    direct-complete for codecs.
    
    While at it, also remove AZX_DCAPS_SUSPEND_SPURIOUS_WAKEUP, as the
    original bug commit a6630529 ("ALSA: hda: Workaround for spurious
    wakeups on some Intel platforms") solves doesn't happen with this
    patch.
    Signed-off-by: default avatarKai-Heng Feng <kai.heng.feng@canonical.com>
    Link: https://lore.kernel.org/r/20201027130038.16463-3-kai.heng.feng@canonical.comSigned-off-by: default avatarTakashi Iwai <tiwai@suse.de>
    f5dac54d
hda_controller.h 6.37 KB