[alsa-devel] multi pcm and mmap problem

Tim terminator356 at users.sourceforge.net
Mon Nov 26 23:46:59 CET 2007


On Monday 26 November 2007 05:38:59 am you wrote:
> > It seems to me, looking at the 'IEC958 CS8427 Error Status' results
> > below, that envy24control should perhaps be using it, instead of
> >  'Word Clock Status', as a 'locked' indicator.
> Actually 'Word Clock Status' is determined from this register value.
> So far it checks whether its zero or not.  But this seesm too strict.
> We'll need to check only the UNLOCK bit (bit 4) for sync status.
>
> How about the patch below (to alsa-kernel)?
>
> diff -r 5e8cab953031 pci/ice1712/delta.c
> --- a/pci/ice1712/delta.c	Mon Nov 26 09:00:56 2007 +0100
> +++ b/pci/ice1712/delta.c	Mon Nov 26 11:56:18 2007 +0100
> @@ -405,7 +405,7 @@ static int snd_ice1712_delta1010lt_wordc
>  	if (snd_i2c_sendbytes(ice->cs8427, &reg, 1) != 1)
>  		snd_printk(KERN_ERR "unable to send register 0x%x byte to CS8427\n",
> reg); snd_i2c_readbytes(ice->cs8427, &reg, 1);
> -	ucontrol->value.integer.value[0] = (reg ? 1 : 0);
> +	ucontrol->value.integer.value[0] = (reg & CS8427_UNLOCK) ? 1 : 0;
>  	return 0;
>  }

Ah, there we go! 
Tested OK connecting/disconnecting S/PDIF cable - 
 says 'locked' then 'no signal'.
Thanks again, Takashi. 
Tim.


More information about the Alsa-devel mailing list