From 5f1ca7d94a21120dc01368553209441d9d3cedd2 Mon Sep 17 00:00:00 2001 From: MilhouseVH Date: Wed, 27 Mar 2019 10:13:03 +0000 Subject: [PATCH] linux (Generic): drop hda patch @hiassoft: " It was added about 6 years ago, in early kernel 3.x days, probably meant to fix an issue with Nvidia ION, but rejected upstream - see discussion here https://mailman.alsa-project.org/pipermail/alsa-devel/2013-February/059570.html I think we should drop it as it could cause issues. If there's some issue remaining it needs to be handled properly without downstream patches " --- ...utputting-HDMI-audio-before-prepare-.patch | 86 ------------------- 1 file changed, 86 deletions(-) delete mode 100644 packages/linux/patches/default/linux-990.06-hda-Avoid-outputting-HDMI-audio-before-prepare-.patch diff --git a/packages/linux/patches/default/linux-990.06-hda-Avoid-outputting-HDMI-audio-before-prepare-.patch b/packages/linux/patches/default/linux-990.06-hda-Avoid-outputting-HDMI-audio-before-prepare-.patch deleted file mode 100644 index a3de53495c..0000000000 --- a/packages/linux/patches/default/linux-990.06-hda-Avoid-outputting-HDMI-audio-before-prepare-.patch +++ /dev/null @@ -1,86 +0,0 @@ -From 203eaba8afbb984349b0b11e4e3d4e5d3eb4df4b Mon Sep 17 00:00:00 2001 -From: Stefan Saraev -Date: Mon, 18 Apr 2016 23:51:56 +0300 -Subject: [PATCH] ALSA: hda - Avoid outputting HDMI audio before prepare() and - after close() - -adapted to 4.6 - -From a6024295fd3290a8c9c5519a03316081ee82378a Mon Sep 17 00:00:00 2001 -From: Anssi Hannula -Date: Sat, 16 Feb 2013 17:42:46 +0200 -Subject: [PATCH] ALSA: hda - Avoid outputting HDMI audio before prepare() and - after close() - -Some HDMI codecs (at least NVIDIA 0x10de000b:0x10de0101:0x100100) start -transmitting an empty audio stream as soon as PIN_OUT and AC_DIG1_ENABLE -are enabled. - -Since commit 6169b673618bf0b2518ce413b54925782a603f06 ("ALSA: hda - -Always turn on pins for HDMI/DP") this happens at first open() time, and -will continue even after close(). - -Additionally, some codecs (at least Intel PantherPoint HDMI) currently -continue transmitting HDMI audio even after close() in case some actual -audio was output after open() (this happens regardless of PIN_OUT). - -Empty HDMI audio transmission when not intended has the effect that a -possible HDMI audio sink/receiver may prefer the empty HDMI audio stream -over an actual audio stream on its S/PDIF inputs. - -To avoid the issue before first prepare(), set stream format to 0 on -codec initialization. 0 is not a valid format value for HDMI and will -prevent the audio stream from being output. - -Additionally, at close() time, make sure that the stream is cleaned up. -This will ensure that the format is reset to 0 at that time, preventing -audio from being output in that case. - -Thanks to OpenELEC developers and users for their help in investigating -this issue on the affected NVIDIA "ION2" hardware. Testing of the final -version on NVIDIA ION2 was done by OpenELEC user "MrXIII". Testing on -Intel PantherPoint was done by myself. - -Signed-off-by: Anssi Hannula -Cc: stable@vger.kernel.org ---- - sound/pci/hda/patch_hdmi.c | 14 ++++++++++++++ - 1 file changed, 14 insertions(+) - -diff --git a/sound/pci/hda/patch_hdmi.c b/sound/pci/hda/patch_hdmi.c -index 5af372d..18bad9a 100644 ---- a/sound/pci/hda/patch_hdmi.c -+++ b/sound/pci/hda/patch_hdmi.c -@@ -1630,6 +1630,14 @@ static int hdmi_add_cvt(struct hda_codec *codec, hda_nid_t cvt_nid) - if (err < 0) - return err; - -+ /* -+ * Some HDMI codecs (at least NVIDIA 0x10de000b:0x10de0101:0x100100) -+ * start transmitting an empty audio stream as soon as PIN_OUT and -+ * AC_DIG1_ENABLE are enabled, which happens at open() time. -+ * To avoid that, set format to 0, which is not valid for HDMI. -+ */ -+ snd_hda_codec_write(codec, cvt_nid, 0, AC_VERB_SET_STREAM_FORMAT, 0); -+ - if (spec->num_cvts < ARRAY_SIZE(spec->cvt_nids)) - spec->cvt_nids[spec->num_cvts] = cvt_nid; - spec->num_cvts++; -@@ -1783,6 +1791,12 @@ static int hdmi_pcm_close(struct hda_pcm_stream *hinfo, - int pinctl; - - if (hinfo->nid) { -+ /* -+ * Make sure no empty audio is output after this point by -+ * setting stream format to 0, which is not valid for HDMI. -+ */ -+ __snd_hda_codec_cleanup_stream(codec, hinfo->nid, 1); -+ - pcm_idx = hinfo_to_pcm_index(codec, hinfo); - if (snd_BUG_ON(pcm_idx < 0)) - return -EINVAL; --- -2.7.4 - - -