|
@@ -2477,18 +2477,6 @@ static int patch_generic_hdmi(struct hda_codec *codec)
|
|
|
is_broxton(codec))
|
|
|
codec->core.link_power_control = 1;
|
|
|
|
|
|
- if (codec_has_acomp(codec)) {
|
|
|
- codec->depop_delay = 0;
|
|
|
- spec->i915_audio_ops.audio_ptr = codec;
|
|
|
- /* intel_audio_codec_enable() or intel_audio_codec_disable()
|
|
|
- * will call pin_eld_notify with using audio_ptr pointer
|
|
|
- * We need make sure audio_ptr is really setup
|
|
|
- */
|
|
|
- wmb();
|
|
|
- spec->i915_audio_ops.pin_eld_notify = intel_pin_eld_notify;
|
|
|
- snd_hdac_i915_register_notifier(&spec->i915_audio_ops);
|
|
|
- }
|
|
|
-
|
|
|
if (hdmi_parse_codec(codec) < 0) {
|
|
|
if (spec->i915_bound)
|
|
|
snd_hdac_i915_exit(&codec->bus->core);
|
|
@@ -2510,6 +2498,18 @@ static int patch_generic_hdmi(struct hda_codec *codec)
|
|
|
|
|
|
init_channel_allocations();
|
|
|
|
|
|
+ if (codec_has_acomp(codec)) {
|
|
|
+ codec->depop_delay = 0;
|
|
|
+ spec->i915_audio_ops.audio_ptr = codec;
|
|
|
+ /* intel_audio_codec_enable() or intel_audio_codec_disable()
|
|
|
+ * will call pin_eld_notify with using audio_ptr pointer
|
|
|
+ * We need make sure audio_ptr is really setup
|
|
|
+ */
|
|
|
+ wmb();
|
|
|
+ spec->i915_audio_ops.pin_eld_notify = intel_pin_eld_notify;
|
|
|
+ snd_hdac_i915_register_notifier(&spec->i915_audio_ops);
|
|
|
+ }
|
|
|
+
|
|
|
return 0;
|
|
|
}
|
|
|
|