[alsa-devel] [PATCH 5/5] ALSA: hda: program stripe control for codec
Takashi Iwai
tiwai at suse.de
Fri Jan 11 12:21:18 CET 2019
On Thu, 10 Jan 2019 18:03:25 +0100,
Sameer Pujar wrote:
>
> 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.
>
> Signed-off-by: Sameer Pujar <spujar at nvidia.com>
> Reviewed-by: Mohan Kumar D <mkumard at nvidia.com>
> Reviewed-by: Ravindra Lokhande <rlokhande at nvidia.com>
> ---
> sound/pci/hda/patch_hdmi.c | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/sound/pci/hda/patch_hdmi.c b/sound/pci/hda/patch_hdmi.c
> index 46f88dc..855e526 100644
> --- a/sound/pci/hda/patch_hdmi.c
> +++ b/sound/pci/hda/patch_hdmi.c
> @@ -1865,7 +1865,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);
> @@ -1909,6 +1909,10 @@ static int generic_hdmi_playback_pcm_prepare(struct hda_pcm_stream *hinfo,
> per_pin->channels = substream->runtime->channels;
> per_pin->setup = true;
>
> + 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);
This verb is supposed to be optional, hence it'd be safer to check the
widget capability before issuing. I doubt whether all HDMI codecs
including the very old one support this verb.
thanks,
Takashi
More information about the Alsa-devel
mailing list