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@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 */
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.