On Tue, 26 Apr 2016 10:02:50 +0200, Takashi Iwai wrote:
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
Oops, this is an old patch. The latest one will be submitted soon. Sorry for the noise.
Takashi