aboutsummaryrefslogtreecommitdiffstats
path: root/sound/usb/mixer.c
diff options
context:
space:
mode:
authorDaniel Mack <daniel@caiaq.de>2010-06-16 11:57:30 -0400
committerTakashi Iwai <tiwai@suse.de>2010-06-23 10:09:50 -0400
commit157a57b6fae7d3c6d24b7623dcc6679c6d244621 (patch)
treed4e803455aa7cbcab244355171be428a3b33fa47 /sound/usb/mixer.c
parent21af7d8c0c0a88f6f9fc6993d73001b4caf23b08 (diff)
ALSA: usb-audio: move and add some comments
Also add a list of open topics. Signed-off-by: Daniel Mack <daniel@caiaq.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/usb/mixer.c')
-rw-r--r--sound/usb/mixer.c24
1 files changed, 16 insertions, 8 deletions
diff --git a/sound/usb/mixer.c b/sound/usb/mixer.c
index ba54eb6bb0c9..1163ec3ca8a0 100644
--- a/sound/usb/mixer.c
+++ b/sound/usb/mixer.c
@@ -26,6 +26,22 @@
26 * 26 *
27 */ 27 */
28 28
29/*
30 * TODOs, for both the mixer and the streaming interfaces:
31 *
32 * - support for UAC2 effect units
33 * - support for graphical equalizers
34 * - RANGE and MEM set commands (UAC2)
35 * - RANGE and MEM interrupt dispatchers (UAC2)
36 * - audio channel clustering (UAC2)
37 * - audio sample rate converter units (UAC2)
38 * - proper handling of clock multipliers (UAC2)
39 * - dispatch clock change notifications (UAC2)
40 * - stop PCM streams which use a clock that became invalid
41 * - stop PCM streams which use a clock selector that has changed
42 * - parse available sample rates again when clock sources changed
43 */
44
29#include <linux/bitops.h> 45#include <linux/bitops.h>
30#include <linux/init.h> 46#include <linux/init.h>
31#include <linux/list.h> 47#include <linux/list.h>
@@ -1199,14 +1215,6 @@ static int parse_audio_feature_unit(struct mixer_build *state, int unitid, void
1199 } 1215 }
1200 } else { /* UAC_VERSION_2 */ 1216 } else { /* UAC_VERSION_2 */
1201 for (i = 0; i < 30/2; i++) { 1217 for (i = 0; i < 30/2; i++) {
1202 /* From the USB Audio spec v2.0:
1203 bmaControls() is a (ch+1)-element array of 4-byte bitmaps,
1204 each containing a set of bit pairs. If a Control is present,
1205 it must be Host readable. If a certain Control is not
1206 present then the bit pair must be set to 0b00.
1207 If a Control is present but read-only, the bit pair must be
1208 set to 0b01. If a Control is also Host programmable, the bit
1209 pair must be set to 0b11. The value 0b10 is not allowed. */
1210 unsigned int ch_bits = 0; 1218 unsigned int ch_bits = 0;
1211 unsigned int ch_read_only = 0; 1219 unsigned int ch_read_only = 0;
1212 1220