[SRU][OEM-OSP1-B][PATCH 0/1] alsa/hdmi: the sound is distorted when playing via nvidia hdmi

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

[SRU][OEM-OSP1-B][PATCH 0/1] alsa/hdmi: the sound is distorted when playing via nvidia hdmi

Hui Wang
BugLink: http://bugs.launchpad.net/bugs/1838243

[Impact]
When playing back the sound via nv hdmi, the sound is distorted, that is because
the osp1-b kernel backported the patch 9b6f7e7a296e17990aae298c809b001e99ddd151
ALSA: hda: program stripe bits for controller, but we didn't backport a follow-up
patch 053b055948e97268771de11f2ab9b2aa1640b68d ALSA: hda: program stripe control for codec

[Fix]
backport the missing patch 053b055948e97268771de11f2ab9b2aa1640b68d
ALSA: hda: program stripe control for codec

[Test Case]
set the machine to performance mode, boot up, plug the hdmi cable, and
choose nv hdmi as the output device, play sound, the sound is normal

[Regression Risk]
Low. It is specific to the codec with stripe capability (nv hdmi codec).


Sameer Pujar (1):
  ALSA: hda: program stripe control for codec

 sound/pci/hda/patch_hdmi.c | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

--
2.17.1


--
kernel-team mailing list
[hidden email]
https://lists.ubuntu.com/mailman/listinfo/kernel-team
Reply | Threaded
Open this post in threaded view
|

[SRU][OEM-OSP1-B][PATCH 1/1] ALSA: hda: program stripe control for codec

Hui Wang
From: Sameer Pujar <[hidden email]>

BugLink: https://bugs.launchpad.net/bugs/1838243

Program codec stripe through AC_VERB_SET_STRIPE_CONTROL to use multiple
sdo lines if supported. Audio needs to be striped across number of sdo
lines for simultaneous playbacks of higher resolutions to work.
This needs to be implemented only for an Audio Output Converter and only
if the stripe bit(AC_WCAP_STRIPE) of Audio Widget Capabilities parameter
is 1.

Signed-off-by: Sameer Pujar <[hidden email]>
Reviewed-by: Mohan Kumar D <[hidden email]>
Reviewed-by: Ravindra Lokhande <[hidden email]>
Reviewed-by: Pierre-Louis Bossart <[hidden email]>
Signed-off-by: Takashi Iwai <[hidden email]>
(cherry picked from commit 053b055948e97268771de11f2ab9b2aa1640b68d)
Signed-off-by: Hui Wang <[hidden email]>
---
 sound/pci/hda/patch_hdmi.c | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/sound/pci/hda/patch_hdmi.c b/sound/pci/hda/patch_hdmi.c
index b107a6154924..2419f59b168f 100644
--- a/sound/pci/hda/patch_hdmi.c
+++ b/sound/pci/hda/patch_hdmi.c
@@ -1875,7 +1875,7 @@ static int generic_hdmi_playback_pcm_prepare(struct hda_pcm_stream *hinfo,
  hda_nid_t pin_nid;
  struct snd_pcm_runtime *runtime = substream->runtime;
  bool non_pcm;
- int pinctl;
+ int pinctl, stripe;
  int err = 0;
 
  mutex_lock(&spec->pcm_lock);
@@ -1919,6 +1919,14 @@ static int generic_hdmi_playback_pcm_prepare(struct hda_pcm_stream *hinfo,
  per_pin->channels = substream->runtime->channels;
  per_pin->setup = true;
 
+ if (get_wcaps(codec, cvt_nid) & AC_WCAP_STRIPE) {
+ stripe = snd_hdac_get_stream_stripe_ctl(&codec->bus->core,
+ substream);
+ snd_hda_codec_write(codec, cvt_nid, 0,
+    AC_VERB_SET_STRIPE_CONTROL,
+    stripe);
+ }
+
  hdmi_setup_audio_infoframe(codec, per_pin, non_pcm);
  mutex_unlock(&per_pin->lock);
  if (spec->dyn_pin_out) {
--
2.17.1


--
kernel-team mailing list
[hidden email]
https://lists.ubuntu.com/mailman/listinfo/kernel-team
Reply | Threaded
Open this post in threaded view
|

ACK/APPLIED[OEM-B]: [SRU][OEM-OSP1-B][PATCH 0/1] alsa/hdmi: the sound is distorted when playing via nvidia hdmi

AceLan Kao
In reply to this post by Hui Wang
Applied on Ubuntu-oem-osp1-5.0.0-1017.19

Acked-By: AceLan Kao <[hidden email]>

--
kernel-team mailing list
[hidden email]
https://lists.ubuntu.com/mailman/listinfo/kernel-team