Re: Correct use of ak4114.c?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



At Sun, 01 Apr 2007 23:09:01 +0200 (CEST),
dustin@xxxxxxxxx wrote:
> 
> Hi Takashi
> >  
> >  > BTW, what is difference between professional and spdif pcms? Is it
> >  > only about digital format (like professional/consumer in iecset)?
> >  > Sorry for stupid questions, but I do not know which pcm to use. 
> >  
> >  VT1724 has seperate DMAs for the analog and the SPDIF streams while 
> >  ICE1712 has only one for both (mixed up).
> >  
> >  Confusingly the analog PCM is named "professional" there because it
> >  was called so in ice1712 driver, and vt1724 driver is derived from
> >  ice1712 driver.  ICE1712 has two analog connections modes, consumer
> >  mode (usually via ac97) and professional mode (via i2s).
> > 
> 
> 
> Uff, that is a lot of background knowledge. Would it be possible to
> put this explanation into ice1724.c code? It would definitely help
> newcomers. Thanks a lot. 

A patch is welcome ;)


> >  > Would I get to playback/capture substreams e.g. using
> >  > ice->pcm_pro->streams[0/1]->substream at the end of
> >  > snd_vt1724_probe? I understand I could probably find this
> >  > information in alsa documentation.
> >  
> >  The build_controls callback is called after creation of PCMs.
> >  So, you can call it there.  The proposed fix for Juli is below.
> >  
> >  Can any Juli users test the latest HG version with this patch?
> >  
> 
> I tested the code with prodigy192 and my current ak4114 code. I used
> ice->pcm stream instead of ice->pcm_pro  
> since I guess that is the one for SPDIF data. 
> 
> Probing the module produced error -16 (EBUSY). Analysis showed
> duplicity of control item  
> SNDRV_CTL_NAME_IEC958("",PLAYBACK,DEFAULT) defined in ice1724.c
> (snd_vt1724_spdif_default) as well as ak4114.c . Upon removing the
> control from ak4114.c (and adjusting AK4114_CONTROLS) the module
> loaded correctly and all the new PCM controls were available in
> amixer. 
> 
> I think the problem is that the  ak4114 support assumes both SPDIF
> OUT and IN functions are used, whereas ice1724 support assumes
> SPDIF-OUT is handled by ice1724, leaving only SPDIF-IN to other
> chips. At least with Prodigy192 + MI/ODI/O that is the case in
> reality too (ak4114 spdif-out capability is not used, signal goes
> from ice1724 directly to output buffers on the add-on card). 
> 
> What solution would you suggest? I guess a solution would be to
> check for duplicity before adding new controls, or perhaps continue
> after hitting error EBUSY in snd_ctl_add. 

Then the problem is that it passed the playback substream to
snd_ak4114_build().  I guess passing NULL there instead should work.


Takashi
_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxx
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux