[alsa-devel] multi pcm and mmap problem
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, ®, 1) != 1)
> snd_printk(KERN_ERR "unable to send register 0x%x byte to CS8427\n",
> reg); snd_i2c_readbytes(ice->cs8427, ®, 1);
> - ucontrol->value.integer.value = (reg ? 1 : 0);
> + ucontrol->value.integer.value = (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.
More information about the Alsa-devel