Added code in hda_intel.c to disable odd numbered channels not supported by HDMI controllers.
Signed-off-by: Nitin Daga ndaga@nvidia.com Acked-By: Stephen Warren swarren@nvidia.com --- pci/hda/hda_intel.c | 13 +++++++++++++ 1 files changed, 13 insertions(+), 0 deletions(-)
diff --git a/pci/hda/hda_intel.c b/pci/hda/hda_intel.c index a78ea34..293c685 100644 --- a/pci/hda/hda_intel.c +++ b/pci/hda/hda_intel.c @@ -1539,6 +1539,16 @@ struct azx_pcm { struct hda_pcm_stream *hinfo[2]; };
+static unsigned int channels_2_4_6_8[] = { + 2, 4, 6, 8 +}; + +static struct snd_pcm_hw_constraint_list hw_constraints_2_4_6_8_channels = { + .count = ARRAY_SIZE(channels_2_4_6_8), + .list = channels_2_4_6_8, + .mask = 0, +}; + static int azx_pcm_open(struct snd_pcm_substream *substream) { struct azx_pcm *apcm = snd_pcm_substream_chip(substream); @@ -1566,6 +1576,9 @@ static int azx_pcm_open(struct snd_pcm_substream *substream) 128); snd_pcm_hw_constraint_step(runtime, 0, SNDRV_PCM_HW_PARAM_PERIOD_BYTES, 128); + snd_pcm_hw_constraint_list(runtime, 0, + SNDRV_PCM_HW_PARAM_CHANNELS, + &hw_constraints_2_4_6_8_channels); snd_hda_power_up(apcm->codec); err = hinfo->ops.open(hinfo, apcm->codec, substream); if (err < 0) {