• Takashi Iwai's avatar
    ALSA: hda - Update BCLK also at hotplug for i915 HSW/BDW · bb03ed21
    Takashi Iwai authored
    The recent bug report suggests that BCLK setup for i915 HSW/BDW needs
    to be updated at each HDMI hotplug, not only at initialization and
    resume.  That is, we need to update HSW_EM4 and HSW_EM5 registers at
    ELD notification, too.  Otherwise the HDMI audio may be out of sync
    and played in a wrong pitch.
    
    However, the HDA codec driver has no access to the controller
    registers, and currently the code managing these registers is in
    hda_intel.c, i.e. local to the controller driver.  For allowing the
    explicit BCLK update from the codec driver, as in this patch, the
    former haswell_set_bclk() in hda_intel.c is moved to hdac_i915.c and
    exposed as snd_hdac_i915_set_bclk().  This is called from both the HDA
    controller driver and intel_pin_eld_notify() in HDMI codec driver.
    
    Along with this change, snd_hdac_get_display_clk() gets dropped as
    it's no longer used.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=91410
    Cc: <stable@vger.kernel.org> # v4.5+
    Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
    bb03ed21
hda_i915.h 1.53 KB