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