[alsa-devel] [PATCH] Volume control quirk for QuickCam E 3500
Takashi Iwai
tiwai at suse.de
Wed Jul 22 11:32:39 CEST 2009
At Wed, 22 Jul 2009 11:16:17 +0200,
Alexey Fisher wrote:
>
> - E3500 report cval->max more than it actually can handel, so if you
> set 95% capture level it will be silently muted.
> - Betwen cval->min and cval-max(real) is 2940 control units,
> but real are only 7 with cval->res = 384.
> - Alsa can't handel less than 10 controls, so make it more
> and set cval->res = 192.
>
> Signed-off-by: Alexey Fisher <bug-track at fisher-privat.net>
> ---
> sound/usb/usbmixer.c | 16 ++++++++++++----
> 1 files changed, 12 insertions(+), 4 deletions(-)
>
> diff --git a/sound/usb/usbmixer.c b/sound/usb/usbmixer.c
> index 5c48199..cda9d7c 100644
> --- a/sound/usb/usbmixer.c
> +++ b/sound/usb/usbmixer.c
> @@ -1000,20 +1000,28 @@ static void build_feature_ctl(struct mixer_build *state, unsigned char *desc,
> break;
> }
>
> - /* quirk for UDA1321/N101 */
> - /* note that detection between firmware 2.1.1.7 (N101) and later 2.1.1.21 */
> - /* is not very clear from datasheets */
> - /* I hope that the min value is -15360 for newer firmware --jk */
> + /* volume control quirks */
> switch (state->chip->usb_id) {
> case USB_ID(0x0471, 0x0101):
> case USB_ID(0x0471, 0x0104):
> case USB_ID(0x0471, 0x0105):
> case USB_ID(0x0672, 0x1041):
> + /* quirk for UDA1321/N101 */
> + /* note that detection between firmware 2.1.1.7 (N101) and later 2.1.1.21 */
> + /* is not very clear from datasheets */
> + /* I hope that the min value is -15360 for newer firmware --jk */
> if (!strcmp(kctl->id.name, "PCM Playback Volume") &&
> cval->min == -15616) {
> snd_printk(KERN_INFO "using volume control quirk for the UDA1321/N101 chip\n");
> cval->max = -256;
> }
Missing break.
> + case USB_ID(0x046d, 0x09a4):
> + if (!strcmp(kctl->id.name, "Mic Capture Volume")) {
> + snd_printk(KERN_INFO "using volume control quirk for the QuickCam E 3500\n");
Could you fold the line to fit within 80 chars?
> + cval->min = 6080;
> + cval->max = 8768;
> + cval->res = 192;
> + }
Better break here, too.
thanks,
Takashi
More information about the Alsa-devel
mailing list