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?