[alsa-devel] Trying to get unsupported CODEC to work

Takashi Iwai tiwai at suse.de
Thu Nov 5 11:21:28 CET 2009


At Thu, 5 Nov 2009 03:15:52 -0600,
Alex Austin wrote:
> 
> I know this thread is ancient, but the question has come to my forefront
> again, so I'll see if I can ask it better now.
> 
> On Fri, Dec 12, 2008 at 3:23 AM, Takashi Iwai <tiwai at suse.de> wrote:
> 
> > Alex Austin wrote:
> > >
> > > Shoot. The DAE-3 is a controller for a 5-CH Amplifier card driving
> > > speakers directly, but I still need the subwoofer output from the ALC888.
> > I
> > > may be able to get by without the ALC using high-level inputs on the sub
> > amp.
> > > Even without it, what do I need to do to enable the DAE-3? I'm
> > comfortable in
> > > C, but I don't know ALSA much, if at all, yet.
> >
> > The codec parser isn't present for DAE-3, and the generic parser
> > obviously doesn't work for it.  So, you need to create a new codec
> > parser such as other patch_*.c.
> >
> > Takashi
> >
> >
> Since the output of codecgraph looks pretty simple, what codec
> parser would you recommend starting with as a base?

Hard to say...  Maybe the one in patch_cirrus.c or patch_ca0110.c,
which are relatively straightforward parsers.  patch_sigmatel.c
includes many fix-ups.  Ditto for realtek.


> On Fri, Dec 12, 2008 at 1:02 AM, Takashi Iwai <tiwai at suse.de> wrote:
> 
> > At Thu, 11 Dec 2008 16:28:28 -0600,
> > Alex Austin wrote:
> > >
> > > Hello,
> > > I have an MSI Media Live DIVA motherboard. It has an AMD SB600 HD
> > > Audio controller, and two CODECs on the HDA bus.
> > >
> > > First is an ALC888
> > > Second is an Intersil DAE-3.
> >
> > The analog outputs on both codecs are really used at the same time?
> > Then it doesn't work right now.  Simply "not implemented".  And no
> > concrete plan to fix it yet.  This might require a fundamental
> > re-design.
> >
> >
> > Takashi
> >
> 
> Is this still the case? Structurally, why can't this be supported now?

The problem is that the driver device tree is based on the PCI
device.  That is, each card-object is created for each PCI device,
not for each codec.

The re-design I mentioned above is to create a HD-audio bus per PCI
device and a card instance for each codec chip on that bus.  But, this
results in the incompatibility with the current setup, and so far, no
real hardware requires that.

Alternatively, you can add quirks for both codecs to create controls
freely with different names or with unique indices so that they don't
conflict with each other.


Takashi


More information about the Alsa-devel mailing list