• Takashi Iwai's avatar
    ALSA: hda - Apply clock gate workaround to Skylake, too · 7e31a015
    Takashi Iwai authored
    Some Skylake machines show the codec probe errors in certain
    situations, e.g. HP Z240 desktop fails to probe the onboard Realtek
    codec at reloading the snd-hda-intel module like:
      snd_hda_intel 0000:00:1f.3: spurious response 0x200:0x2, last cmd=0x000000
      snd_hda_intel 0000:00:1f.3: azx_get_response timeout, switching to polling mode: lastcmd=0x000f0000
      snd_hda_intel 0000:00:1f.3: No response from codec, disabling MSI: last cmd=0x000f0000
      snd_hda_intel 0000:00:1f.3: Codec #0 probe error; disabling it...
      hdaudio hdaudioC0D2: no AFG or MFG node found
      snd_hda_intel 0000:00:1f.3: no codecs initialized
    
    Also, HP G470 G3 suffers from the similar problem, as reported in
    bugzilla below.  On this machine, the codec probe error appears even
    at a fresh boot.
    
    As Libin suggested, the same workaround used for Broxton in the commit
    [6639484d: ALSA: hda - disable dynamic clock gating on Broxton
     before reset] can be applied for Skylake in order to fix this problem.
    The Intel HW team also confirmed that this is needed for SKL.
    
    This patch makes the workaround applied to both SKL and BXT
    platforms.  The referred macros are moved and one superfluous macro
    (IS_BROXTON()) is another one (IS_BXT()) as well.
    
    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=112731Suggested-by: default avatarLibin Yang <libin.yang@linux.intel.com>
    Cc: <stable@vger.kernel.org> # v4.4+
    Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
    7e31a015
hda_intel.c 66.6 KB