]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
5.4-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 27 Nov 2019 16:12:31 +0000 (17:12 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 27 Nov 2019 16:12:31 +0000 (17:12 +0100)
added patches:
alsa-hda-disable-audio-component-for-legacy-nvidia-hdmi-codecs.patch

queue-5.4/alsa-hda-disable-audio-component-for-legacy-nvidia-hdmi-codecs.patch [new file with mode: 0644]
queue-5.4/series

diff --git a/queue-5.4/alsa-hda-disable-audio-component-for-legacy-nvidia-hdmi-codecs.patch b/queue-5.4/alsa-hda-disable-audio-component-for-legacy-nvidia-hdmi-codecs.patch
new file mode 100644 (file)
index 0000000..a59f81d
--- /dev/null
@@ -0,0 +1,80 @@
+From 5a858e79c911330678b5a9be91a24830e94a0dc9 Mon Sep 17 00:00:00 2001
+From: Takashi Iwai <tiwai@suse.de>
+Date: Fri, 22 Nov 2019 14:20:00 +0100
+Subject: ALSA: hda - Disable audio component for legacy Nvidia HDMI codecs
+
+From: Takashi Iwai <tiwai@suse.de>
+
+commit 5a858e79c911330678b5a9be91a24830e94a0dc9 upstream.
+
+The old Nvidia chips have multiple HD-audio codecs on the same
+HD-audio controller, and this doesn't work as expected with the current
+audio component binding that is implemented under the one-codec-per-
+controller assumption; at the probe time, the driver leads to several
+kernel WARNING messages.
+
+For the proper support, we may change the pin2port and port2pin to
+traverse the codec list per the given pin number, but this needs more
+development and testing.
+
+As a quick workaround, instead, this patch drops the binding in the
+audio side for these legacy chips since the audio component support in
+nouveau graphics driver is still not merged (hence it's basically
+unused).
+
+[ Unlike the original commit, this patch actually disables the audio
+  component binding for all Nvidia chips, not only for legacy chips.
+  It doesn't matter much, though: nouveau gfx driver still doesn't
+  provide the audio component binding on 5.4.y, so it's only a
+  placeholder for now.  Also, another difference from the original
+  commit is that this removes the nvhdmi_audio_ops and other
+  definitions completely in order to avoid a compile warning due to
+  unused stuff.  -- tiwai ]
+
+BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=205625
+Fixes: ade49db337a9 ("ALSA: hda/hdmi - Allow audio component for AMD/ATI and Nvidia HDMI")
+Link: https://lore.kernel.org/r/20191122132000.4460-1-tiwai@suse.de
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ sound/pci/hda/patch_hdmi.c |   22 ----------------------
+ 1 file changed, 22 deletions(-)
+
+--- a/sound/pci/hda/patch_hdmi.c
++++ b/sound/pci/hda/patch_hdmi.c
+@@ -3454,26 +3454,6 @@ static int nvhdmi_chmap_validate(struct
+       return 0;
+ }
+-/* map from pin NID to port; port is 0-based */
+-/* for Nvidia: assume widget NID starting from 4, with step 1 (4, 5, 6, ...) */
+-static int nvhdmi_pin2port(void *audio_ptr, int pin_nid)
+-{
+-      return pin_nid - 4;
+-}
+-
+-/* reverse-map from port to pin NID: see above */
+-static int nvhdmi_port2pin(struct hda_codec *codec, int port)
+-{
+-      return port + 4;
+-}
+-
+-static const struct drm_audio_component_audio_ops nvhdmi_audio_ops = {
+-      .pin2port = nvhdmi_pin2port,
+-      .pin_eld_notify = generic_acomp_pin_eld_notify,
+-      .master_bind = generic_acomp_master_bind,
+-      .master_unbind = generic_acomp_master_unbind,
+-};
+-
+ static int patch_nvhdmi(struct hda_codec *codec)
+ {
+       struct hdmi_spec *spec;
+@@ -3492,8 +3472,6 @@ static int patch_nvhdmi(struct hda_codec
+       codec->link_down_at_suspend = 1;
+-      generic_acomp_init(codec, &nvhdmi_audio_ops, nvhdmi_port2pin);
+-
+       return 0;
+ }
index 173add60c218e05bbeec0fd0b48ce686ba9de0b3..a657ea187d2bc21ffecf650e5b37db35b12f368c 100644 (file)
@@ -49,3 +49,4 @@ media-b2c2-flexcop-usb-add-sanity-checking.patch
 media-cxusb-detect-cxusb_ctrl_msg-error-in-query.patch
 media-imon-invalid-dereference-in-imon_touch_event.patch
 media-mceusb-fix-out-of-bounds-read-in-mce-receiver-buffer.patch
+alsa-hda-disable-audio-component-for-legacy-nvidia-hdmi-codecs.patch