At Wed, 2 Jul 2003 15:03:28 +0200, Anders Torger wrote: > > > On Wednesday 02 July 2003 12.17, Takashi Iwai wrote: > > Hi, > > > > At Tue, 1 Jul 2003 20:14:59 +0200, > > > > Anders Torger wrote: > > > Stefan Mueller found a bug in my Digi96 driver. Sometimes I write > > > != when I mean == or the other way around: > > > > thanks, applied to cvs. > > > > BTW, shall i apply the patch by Martin Langer for unifying the clock > > source control? it's been pending for long time for evaluation. > > Oh, sorry, I have forgot about that one, could I get to look at the > patch again? I suppose it is ok, but it could potentially make the > driver refuse sampling from the input (returning -EIO) when there is no > signal there.
well, i think you're referring to a different patch (yeah, i remember there was something like that, too). the patch below is the one i wanted to include. basically this changes only the name of clock source control element to be compliant to the definition in ControlNames.txt. Takashi
--- rme96.c Wed May 7 22:24:15 2003 +++ rme96.c.PATCHED Sat May 3 19:34:45 2003 @@ -806,10 +806,12 @@ { switch (mode) { case RME96_CLOCKMODE_SLAVE: + /* AutoSync */ rme96->wcreg &= ~RME96_WCR_MASTER; rme96->areg &= ~RME96_AR_WSEL; break; case RME96_CLOCKMODE_MASTER: + /* Internal */ rme96->wcreg |= RME96_WCR_MASTER; rme96->areg &= ~RME96_AR_WSEL; break; @@ -1862,15 +1864,15 @@ snd_iprintf(buffer, " sample format: 16 bit\n"); } if (rme96->areg & RME96_AR_WSEL) { - snd_iprintf(buffer, " clock mode: word clock\n"); + snd_iprintf(buffer, " sample clock source: word clock\n"); } else if (rme96->wcreg & RME96_WCR_MASTER) { - snd_iprintf(buffer, " clock mode: master\n"); + snd_iprintf(buffer, " sample clock source: internal\n"); } else if (snd_rme96_getinputtype(rme96) == RME96_INPUT_ANALOG) { - snd_iprintf(buffer, " clock mode: slave (master anyway due to analog input setting)\n"); + snd_iprintf(buffer, " sample clock source: autosync (internal anyway due to analog input setting)\n"); } else if (snd_rme96_capture_getrate(rme96, &n) < 0) { - snd_iprintf(buffer, " clock mode: slave (master anyway due to no valid signal)\n"); + snd_iprintf(buffer, " sample clock source: autosync (internal anyway due to no valid signal)\n"); } else { - snd_iprintf(buffer, " clock mode: slave\n"); + snd_iprintf(buffer, " sample clock source: autosync\n"); } if (rme96->wcreg & RME96_WCR_PRO) { snd_iprintf(buffer, " format: AES/EBU (professional)\n"); @@ -2095,7 +2097,7 @@ static int snd_rme96_info_clockmode_control(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t * uinfo) { - static char *texts[3] = { "Slave", "Master", "Wordclock" }; + static char *texts[3] = { "AutoSync", "Internal", "Word" }; uinfo->type = SNDRV_CTL_ELEM_TYPE_ENUMERATED; uinfo->count = 1; @@ -2418,7 +2420,7 @@ }, { .iface = SNDRV_CTL_ELEM_IFACE_PCM, - .name = "Clock Mode", + .name = "Sample Clock Source", .info = snd_rme96_info_clockmode_control, .get = snd_rme96_get_clockmode_control, .put = snd_rme96_put_clockmode_control