summaryrefslogtreecommitdiff
path: root/sound/usb/mixer.h
diff options
context:
space:
mode:
authorEldad Zack <eldad@fogrefinery.com>2012-11-28 23:55:35 +0100
committerTakashi Iwai <tiwai@suse.de>2012-11-29 08:43:12 +0100
commit9f814105926cbeb003b1684cd5564612bccfe45c (patch)
tree3a80076a31997d21dcfa20a21a58747bf6675173 /sound/usb/mixer.h
parent28acb12014fb0c3e1edfdab1b1e3e266cf651550 (diff)
ALSA: usb-audio: add control index offset
Currently, channel IDs exceeding 31 (0x1f) cannot be used. The channel ID is derived from the cmask. Extending cmask to a 64-bit type would only allow it to go up to 63 (0x3f). Some devices have channel IDs exceeding that as well. To address that, add an offset to the mixer element which is then accounted for in the UAC set/get functions. Signed-off-by: Eldad Zack <eldad@fogrefinery.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/usb/mixer.h')
-rw-r--r--sound/usb/mixer.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/sound/usb/mixer.h b/sound/usb/mixer.h
index a7f3d45a8acf..aab80df201bd 100644
--- a/sound/usb/mixer.h
+++ b/sound/usb/mixer.h
@@ -43,6 +43,7 @@ struct usb_mixer_elem_info {
unsigned int id;
unsigned int control; /* CS or ICN (high byte) */
unsigned int cmask; /* channel mask bitmap: 0 = master */
+ unsigned int idx_off; /* Control index offset */
unsigned int ch_readonly;
unsigned int master_readonly;
int channels;