From mboxrd@z Thu Jan 1 00:00:00 1970 From: Takashi Iwai Subject: Re: au88x0 - Replace spdif frequency control by IEC958 control Date: Wed, 23 Feb 2005 12:09:01 +0100 Message-ID: References: <421BE84E.8030201@netvigator.com> Mime-Version: 1.0 (generated by SEMI 1.14.5 - "Awara-Onsen") Content-Type: text/plain; charset=US-ASCII In-Reply-To: <421BE84E.8030201@netvigator.com> Sender: alsa-devel-admin@lists.sourceforge.net Errors-To: alsa-devel-admin@lists.sourceforge.net List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , List-Archive: To: Raymond Cc: openvortex-dev@nongnu.org, alsa-devel@lists.sourceforge.net List-Id: alsa-devel@alsa-project.org At Wed, 23 Feb 2005 10:19:58 +0800, Raymond wrote: > > >> 1) What is the difference between Consumer mode and Professional mode ? > > > A different set of status bits. See, for example, ALSA"s asoundef.h, > > but it doesn"t have many explanations. > > > > The main difference is that only consumer mode has the copyright bit > > so that devices can automatically disable copying. > > > The parameter 'spdif_mode' in the routine > vortex_spdif_init(vortex,spdif_sr,spdif_mode) in au88x0_core.c seems to > control AC3 passthrough. > > However the two memory mapped I/O VORTEX_SPDIF_CFG0 and > VORTEX_SPDIF_CFG1 seem to be write-only, return zero when read. Then we need to cache the values. > The value of memory mapped I/O VORTEX_SPDIF_FLAGS are changing between > 00138014 and 00138015 > > 1) Which bit in the IEC958 control is related to AC3 passthrough ? Every bits hardware can provide :) The most important one for AC3 is the non-audio bit. > As vortex_spdif_init() only handle changing SPDIF sample rate. > > 2) Do the driver need to initialise vortex->spdif_sr to 48000 or just > let alsactl restore the value from /etc/asound.state ? The driver must initialize the value by itself at first. > 3) Is it correct to return the following value in > snd_vortex_spdif_mask_get() ? > ucontrol->value.iec958.status[3] = IEC958_AES3_CON_FS; Yes. > 4) Is it correct to return the following value in > snd_vortex_spdif_default_get() ? > ucontrol->value.iec958.status[1] =IEC958_AES1_CON_ORIGINAL | > IEC958_AES1_CON_DIGDIGCONV_ID; If the values are not variable, you don't need to return them. > 5) What additional kcontrol and routine are needed for SPDIF IN ? For the SPDIF input status bits, no "standard" control is defined yet. You can create a control like "IEC958 Capture Status" returning the current IEC958 status bits of the capture stream. Also, "IEC958 Capture Switch" can be implemented (if possible). This switch is turned on automatically in iec958 PCM definition in the alsa-lib config file. Takashi ------------------------------------------------------- SF email is sponsored by - The IT Product Guide Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click