]> git.baikalelectronics.ru Git - kernel.git/commit
ALSA: hda - Update BCLK also at hotplug for i915 HSW/BDW
authorTakashi Iwai <tiwai@suse.de>
Thu, 21 Apr 2016 14:39:17 +0000 (16:39 +0200)
committerTakashi Iwai <tiwai@suse.de>
Tue, 26 Apr 2016 08:11:11 +0000 (10:11 +0200)
commit71cf7e9accd3c2236733734266f861d133d09fe3
treef9a8107a8bf7878cd110c358e791cf72a1862f02
parent190510de2bcf7365772c1c1fd60f0010c379cec5
ALSA: hda - Update BCLK also at hotplug for i915 HSW/BDW

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: Takashi Iwai <tiwai@suse.de>
include/sound/hda_i915.h
sound/hda/hdac_i915.c
sound/pci/hda/hda_intel.c
sound/pci/hda/patch_hdmi.c