diff options
author | Eldad Zack <eldad@fogrefinery.com> | 2012-11-28 23:55:35 +0100 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2012-11-29 08:43:12 +0100 |
commit | 9f814105926cbeb003b1684cd5564612bccfe45c (patch) | |
tree | 3a80076a31997d21dcfa20a21a58747bf6675173 /sound/usb/mixer.h | |
parent | 28acb12014fb0c3e1edfdab1b1e3e266cf651550 (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.h | 1 |
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; |