Re: [alsa-devel] [PATCH]Support MCP89 and GT21x hdmi audio
From: Takashi Iwai
Date: Tue Mar 02 2010 - 04:55:38 EST
At Tue, 2 Mar 2010 17:43:28 +0800,
Wei Ni wrote:
> Hi, Takashi
> 1. About AZX_MAX_CODECS, on our new chipset, the codec_mask=0x31, it means
> the codec connect on the slot0, slot4, slot5, and on some GT2xx, the codec
> will connect to slot6 or slot7, although these chip at most have 4 codecs.
> So I change the AZX_MAX_CODECS to 8 directly.
> In hda_intel.c, the azx_command_addr(), azx_response_addr(), and
> azx_codec_create() use the AZX_MAX_CODECS, if it set as 4, the driver will
> not detect the codecs which connect to slot4~7.
Yeah, I understand it. But, as mentioned, changing this to *all*
controller chips is dangerous.
We have already a quirk for controller chips to set max codecs depending
on the chip model. Right now, only teradici chip sets to 1.
So, add "#define AZX_DEFAULT_CODECS 4", and use this value unless
azx_max_codecs is defined. And, for the new controller chip
supporting more than 4, it can has 8 in azx_max_codecs.
Is it feasible?
> 2. yes, it's better to merge the hdmi common codes.
> 3. About ELD, yes, we need to change the Makefile and Kconfig as well.
> Could you help me to change it.
In sound/pci/hda/Makefile, hda_eld.c is built into snd-hda-codec-intelhdmi
by the following rule:
snd-hda-codec-intelhdmi-objs := patch_intelhdmi.o hda_eld.o
Since now hda_eld.c is used in two modules, this has to be in the common
place, such as snd-hda-codec. For this, uncomment the line:
# snd-hda-codec-$(CONFIG_SND_HDA_ELD) += hda_eld.o
and remove hda_eld.o from snd-hda-codec-intelhdmi-objs line.
For Kconfig, right now we have the definition
depends on SND_HDA_CODEC_INTELHDMI
Change depends on like
depends on SND_HDA_CODEC_INTELHDMI || SND_HDA_CODEC_NVHDMI
This can be done via "select" instead. But, we'd merge all hdmi codes
later, so which way to choose is no big matter.
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/