[PATCH] Add a quirk to ignore the Master volume control on 08bb:2704
Omari Stephens
xsdg at xsdg.org
Sat Feb 12 21:36:04 CET 2011
---
mixer.c | 6 ++++++
mixer_maps.c | 19 ++++++++++++++++++-
2 files changed, 24 insertions(+), 1 deletions(-)
diff --git a/mixer.c b/mixer.c
index 3ed3901..38d5d77 100644
--- a/mixer.c
+++ b/mixer.c
@@ -1192,6 +1192,12 @@ static int parse_audio_feature_unit(struct mixer_build *state, int unitid, void
/* disable non-functional volume control */
master_bits &= ~UAC_CONTROL_BIT(UAC_FU_VOLUME);
break;
+ case USB_ID(0x08bb, 0x2704):
+ snd_printk(KERN_INFO
+ "usbmixer: master volume quirk for PCM2704 chip\n");
+ /* disable non-functional volume control */
+ master_bits &= ~UAC_CONTROL_BIT(UAC_FU_VOLUME);
+ break;
}
if (channels > 0)
first_ch_bits = snd_usb_combine_bytes(bmaControls + csize, csize);
diff --git a/mixer_maps.c b/mixer_maps.c
index f1324c4..40edd9b 100644
--- a/mixer_maps.c
+++ b/mixer_maps.c
@@ -208,11 +208,23 @@ static struct usbmix_name_map live24ext_map[] = {
/* LineX FM Transmitter entry - needed to bypass controls bug */
static struct usbmix_name_map linex_map[] = {
/* 1: IT pcm */
- /* 2: OT Speaker */
+ /* 2: OT Speaker */
{ 3, "Master" }, /* FU: master volume - left / right / mute */
{ 0 } /* terminator */
};
+/* This DAC (08bb:2704) has a single "Volume" control which isn't actually
+ * connected to anything. The 08bb:2702 device is based off the LineX map, so
+ * presumably the 2704 one is similar but more broken.
+ */
+static struct usbmix_name_map ti_broken_usb_dac_map[] = {
+ /* 1: IT pcm */
+ /* 2: OT Speaker */
+ { 3, NULL }, /* Master (not connected to anything) */
+ { 0 }
+};
+
+
static struct usbmix_name_map maya44_map[] = {
/* 1: IT line */
{ 2, "Line Playback" }, /* FU */
@@ -355,6 +367,11 @@ static struct usbmix_ctl_map usbmix_ctl_maps[] = {
.ignore_ctl_error = 1,
},
{
+ .id = USB_ID(0x08bb, 0x2704),
+ .map = ti_broken_usb_dac_map,
+ .ignore_ctl_error = 1,
+ },
+ {
.id = USB_ID(0x0a92, 0x0091),
.map = maya44_map,
},
--
1.7.2.3
--------------070202010806020703010904--
More information about the Alsa-devel
mailing list