forked from Minki/linux
Merge branch 'fix/usb-audio' into for-linus
* fix/usb-audio: ALSA: usb-audio - Volume control quirk for QuickCam E 3500
This commit is contained in:
commit
57e4a5c4f8
@ -990,20 +990,35 @@ static void build_feature_ctl(struct mixer_build *state, unsigned char *desc,
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* quirk for UDA1321/N101 */
|
/* volume control quirks */
|
||||||
/* 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 */
|
|
||||||
switch (state->chip->usb_id) {
|
switch (state->chip->usb_id) {
|
||||||
case USB_ID(0x0471, 0x0101):
|
case USB_ID(0x0471, 0x0101):
|
||||||
case USB_ID(0x0471, 0x0104):
|
case USB_ID(0x0471, 0x0104):
|
||||||
case USB_ID(0x0471, 0x0105):
|
case USB_ID(0x0471, 0x0105):
|
||||||
case USB_ID(0x0672, 0x1041):
|
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") &&
|
if (!strcmp(kctl->id.name, "PCM Playback Volume") &&
|
||||||
cval->min == -15616) {
|
cval->min == -15616) {
|
||||||
snd_printk(KERN_INFO "using volume control quirk for the UDA1321/N101 chip\n");
|
snd_printk(KERN_INFO
|
||||||
|
"set volume quirk for UDA1321/N101 chip\n");
|
||||||
cval->max = -256;
|
cval->max = -256;
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case USB_ID(0x046d, 0x09a4):
|
||||||
|
if (!strcmp(kctl->id.name, "Mic Capture Volume")) {
|
||||||
|
snd_printk(KERN_INFO
|
||||||
|
"set volume quirk for QuickCam E3500\n");
|
||||||
|
cval->min = 6080;
|
||||||
|
cval->max = 8768;
|
||||||
|
cval->res = 192;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
snd_printdd(KERN_INFO "[%d] FU [%s] ch = %d, val = %d/%d/%d\n",
|
snd_printdd(KERN_INFO "[%d] FU [%s] ch = %d, val = %d/%d/%d\n",
|
||||||
|
Loading…
Reference in New Issue
Block a user