From f749865c7e322bb0d6830cae32e36334983f30a0 Mon Sep 17 00:00:00 2001 From: Sumit Bhattacharya Date: Thu, 5 Apr 2012 18:01:40 +0530 Subject: ALSA: HDA: set max_channel only based on LPCM capability Set maximum supported channels of HDA driver based on the LPCM channel capability of the HDMI device. This is needed because user space decides number of PCM channels to be sent to kernel based on this information. Bug 960940 Change-Id: I59ae3b7d47dcf26f697bfb0877ca24556f0ab1fa Signed-off-by: Sumit Bhattacharya Reviewed-on: http://git-master/r/94831 Reviewed-on: http://git-master/r/98783 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Scott Peterson Reviewed-by: Ravindra Lokhande --- sound/pci/hda/hda_eld.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'sound') diff --git a/sound/pci/hda/hda_eld.c b/sound/pci/hda/hda_eld.c index ad760f90053d..a8042e14f5de 100644 --- a/sound/pci/hda/hda_eld.c +++ b/sound/pci/hda/hda_eld.c @@ -704,10 +704,11 @@ void snd_hdmi_eld_update_pcm_info(struct hdmi_eld *eld, channels_max = 2; for (i = 0; i < eld->sad_count; i++) { struct cea_sad *a = &eld->sad[i]; + rates |= a->rates; - if (a->channels > channels_max) - channels_max = a->channels; if (a->format == AUDIO_CODING_TYPE_LPCM) { + if (a->channels > channels_max) + channels_max = a->channels; if (a->sample_bits & AC_SUPPCM_BITS_20) { formats |= SNDRV_PCM_FMTBIT_S32_LE; if (maxbps < 20) -- cgit v1.2.3