[alsa-devel] Questions about Multi-streaming playback with HDA codec ad1988b

Takashi Iwai tiwai at suse.de
Mon Jan 17 15:33:37 CET 2011

At Thu, 13 Jan 2011 10:09:43 +0800,
Raymond Yau wrote:
> The patch is to provide a new model which front panel headphone of a
> 6stack-dig desktop can be used for playback a stereo stream independent of
> the rear panel
> ad1988b is a HDA codec support  10 channel ( enough DAC for stereo +
> surround71 )

I already applied your patch, so below is a delayed answer...

> 1) Is this approach to create a new model correct or just need to implement
> a switch for activatie the "independent head phone" like those VIA codecs ?

Personally I prefer the model quirk in such a case, since the mixer
controller may break user's expectation too easily.  Rather you want
more static setup in such a case.

> 2) do the driver need to define .prepare and .cleanup function or just need
> to use "hda_pcm_default_prepare() and hda_pcm_default_cleanup()

Depends.  You can pass NULL if the NID is set properly in the struct
beforehand, so that the default callbacks will be called. 

> 3) Is it correct to use device 2 for analog alternate playback since some
> HDA codec implement this feature on "hw:0,0,1" and realtek driver create
> alternate capture on "hw:0,2" ,  this seem create a lot of problem of the
> application (e.g. PA server ) ?

It's still an open question.

PA doesn't handle the multiple substreams so well, AFAIK.  It's partly
because ALSA doesn't expose the capability clearly, and partly because
no explicit PCM definition exists for such a case.

> 3) What functions are still missing in this model ?
> a), do this new model need to disable hp_automute() function

Well, I dunno.  What is your _design_?

> b) any change in ad198x_power_eapd_xxx() functions ?

This should be irrelevant.

> c) idenifty ad1988a and ad1988b

Once if we have a PCI quirk entry with any real device ids.



More information about the Alsa-devel mailing list