[alsa-devel] [PATCH] snd-sbxfi: implement Master volume control
Takashi Iwai
tiwai at suse.de
Mon Oct 20 14:32:19 CEST 2008
At Mon, 20 Oct 2008 14:25:34 +0200,
I wrote:
>
> At Mon, 20 Oct 2008 12:21:47 +0000,
> Xarteras wrote:
> >
> > Takashi Iwai wrote:
> > > At Mon, 20 Oct 2008 07:59:32 +0200,
> > > I wrote:
> > >> At Sun, 19 Oct 2008 18:08:15 -0500,
> > >> William Pitcock wrote:
> > >>> Unfortunately, the X-Fi does not have a hardware master volume control, so we have
> > >>> to create a virtual master and bind all playback controls to it.
> > >>>
> > >>> This patch depends on the patch that renames Master to PCM.
> > >>>
> > >>> Signed-off-by: William Pitcock <nenolod at sacredspiral.co.uk>
> > >> I don't like this patch because the virtual master implementation is
> > >> already found in sbxfi.c No reason to use yet another vmaster
> > >> framework in addition.
> > >>
> > >> So, no I don't apply both patches. A simpler fix is just to add PCM
> > >> volume like Master volume. Both can use the same callbacks, so the
> > >> addition would be pretty small.
> > >
> > > I added PCM volume now using the same mechanism as Master volume.
> > > Please give it a try, and let me know if it's broken.
> > >
> >
> > The last version from git is again, not working for me.
> >
> > To make it work the following fixes are needed:
> > The correct option for the ratec is SRCCTL_STATE_INIT, not
> > SRCCTL_STATE_TAIL.
> >
> > --- sbxfi.c.ori 2008-10-20 14:13:53.000000000 +0200
> > +++ sbxfi.c 2008-10-20 14:18:06.000000000 +0200
> > @@ -542,7 +542,7 @@
> > }
> > ratec |= SRCCTL_FMT_S16;
> > ratec |= SRCCTL_BUS_MASTER;
> > - ratec |= SRCCTL_STATE_TAIL;
> > + ratec |= SRCCTL_STATE_INIT;
> >
> > ctrl = ratec;
> > ctrl |= SRCCTL_PITCH_MASTER; /* master */
>
> Oops, thanks for checking it.
> Will fix it now.
Fixed and pushed out.
> > Also for some strange and for me unknown reason the patch "ALSA:
> > snd-sbxfi: use SBXXXX model numbers instead of user-unfriendly names
> > like UAA and ORIG." broke sound output, too.
> > Reverting it and applying the patch above fixes the driver for me.
>
> Hm, it's weird. Checking now...
Maybe the id string was changed by the patch unexpectedly?
Check /proc/asound/cards output before and after the patch.
If so, it's because the mixer setting was lost and not restored via
alsactl due to the renaming of the id string. Re-adjust the mixer
setting again.
Takashi
More information about the Alsa-devel
mailing list