[alsa-devel] Wrong channel order with multichannel HDMI on NVIDIA MCP7A
Anssi Hannula
anssi.hannula at iki.fi
Tue Aug 3 21:01:47 CEST 2010
Anssi Hannula kirjoitti torstai, 29. heinäkuuta 2010 17:41:15:
> Anssi Hannula kirjoitti keskiviikko, 28. heinäkuuta 2010 05:42:09:
> > Wei Ni kirjoitti tiistai, 27. heinäkuuta 2010 10:14:37:
> > > Hi, Takashi
> > > MCP7x use old HW design in HDMI, they don't support channel mapping
> > > like MCP89. It use nvhdmi_dig_playback_pcm_prepare_8ch() to prepare
> > > channel mapping and steam id,format.
> > >
> > > Anssi Hannula
> > > Please try the following changes in patch_nvhdmi.c
> > > static hda_nid_t nvhdmi_con_nids_7x[4] = {
> > >
> > > /*front, rear, clfe, rear_surr */
> > >
> > > - 0x6, 0x8, 0xa, 0xc,
> > > + 0x6, 0xa, 0x8, 0xc,
> > > };
> >
> > I actually tried that already, but for some reason changing the order in
> > nvhdmi_con_nids_7x doesn't have any effect.
> >
> > Actually, disabling the whole for loop that assigns the channels in
> > nvhdmi_dig_playback_pcm_prepare_8ch() has no effect, leading me to
> > believe that the commands are not reaching the hardware or they are
> > being overridden.
>
> Well, I confirmed with AC_VERB_GET_CONV that they are getting through, and
> they are still the same in nvhdmi_dig_playback_pcm_close_8ch_7x().
>
> Any idea why they are having no effect?
If this can't be fixed (either due to hardware or missing documentation), how
can this be workarounded in alsa?
Only idea I can come up with is reserving a special device index in hda-intel
for use with "broken hdmi", which can then be handled in HDA-Intel.conf with
an appropriate ttable.. But that would be rather ugly.
Also, do we know if this affects all MCP7x devices or a subset of them?
--
Anssi Hannula
More information about the Alsa-devel
mailing list