1
0
Fork 0
alistair23-linux/sound/usb
Daniel Mack 8fdff6a319 ALSA: snd-usb: implement new endpoint streaming model
This patch adds a new generic streaming logic for audio over USB.

It defines a model (snd_usb_endpoint) that handles everything that
is related to an USB endpoint and its streaming. There are functions to
activate and deactivate an endpoint (which call usb_set_interface()),
and to start and stop its URBs. It also has function pointers to be
called when data was received or is about to be sent, and pointer to
a sync slave (another snd_usb_endpoint) that is informed when data has
been received.

A snd_usb_endpoint knows about its state and implements a refcounting,
so only the first user will actually start the URBs and only the last
one to stop it will tear them down again.

With this sort of abstraction, the actual streaming is decoupled from
the pcm handling, which makes the "implicit feedback" mechanisms easy to
implement.

In order to split changes properly, this patch only adds the new
implementation but leaves the old one around, so the the driver doesn't
change its behaviour. The switch to actually use the new code is
submitted separately.

Signed-off-by: Daniel Mack <zonque@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-04-13 10:23:42 +02:00
..
6fire ALSA: snd-usb-6fire: add analog input volume control 2012-02-22 15:51:26 +01:00
caiaq ALSA: snd-usb-caiaq: Fix the return of XRUN 2012-02-22 08:34:58 +01:00
misc Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound 2012-01-12 08:00:30 -08:00
usx2y ALSA: usx2y: Fix typo in usbusx2yaudio.c and usx2yhwdeppcm.c 2012-02-15 14:56:11 +01:00
Kconfig ALSA: snd-usb-6fire: Select missing SND_VMASTER option in Kconfig 2012-02-25 11:07:19 +01:00
Makefile ALSA: snd-usb: move code from urb.c to endpoint.c 2011-09-14 17:07:03 +02:00
card.c ALSA: snd-usb: add snd_usb_audio-wide mutex 2012-04-13 10:21:55 +02:00
card.h ALSA: snd-usb: implement new endpoint streaming model 2012-04-13 10:23:42 +02:00
clock.c ALSA: usb-audio: increase control transfer timeout 2011-09-27 09:21:48 +02:00
clock.h ALSA: usb-audio: simplify control interface access 2010-06-23 16:10:23 +02:00
debug.h ALSA: usb-audio: make hwc_debug a noop in case HW_CONST_DEBUG is not set 2011-05-18 11:44:35 +02:00
endpoint.c ALSA: snd-usb: implement new endpoint streaming model 2012-04-13 10:23:42 +02:00
endpoint.h ALSA: snd-usb: implement new endpoint streaming model 2012-04-13 10:23:42 +02:00
format.c ALSA: usb-audio: avoid integer overflow in create_fixed_stream_quirk() 2012-02-15 14:58:15 +01:00
format.h ALSA: usb-audio: parse more format descriptors with structs 2010-05-27 09:48:31 +02:00
helper.c ALSA: usb-audio: increase control transfer timeout 2011-09-27 09:21:48 +02:00
helper.h ALSA: usb-audio: increase control transfer timeout 2011-09-27 09:21:48 +02:00
midi.c sound: Add module.h to the previously silent sound users 2011-10-31 19:31:21 -04:00
midi.h ALSA: usb-audio: add support for Akai MPD16 2010-05-21 17:12:30 +02:00
mixer.c ALSA: snd_usb_audio: add Logitech HD Webcam c510 to quirk-384 2011-11-09 12:22:38 +01:00
mixer.h ALSA: snd-usb: operate on given mixer interface only 2011-08-04 16:24:10 +02:00
mixer_maps.c ALSA: usb-audio: unify constants from specification 2010-05-31 18:17:22 +02:00
mixer_quirks.c ALSA: usb-audio: increase control transfer timeout 2011-09-27 09:21:48 +02:00
mixer_quirks.h ALSA: usb-mixer: factor out quirks 2010-03-12 12:20:26 +01:00
pcm.c ALSA: usb-audio - Fix build error by consitification of rate list 2012-03-15 16:14:38 +01:00
pcm.h ALSA: usb: refine delay information with USB frame counter 2011-09-12 10:30:20 +02:00
power.h ALSA: usbaudio: implement USB autosuspend 2011-03-11 14:59:29 +01:00
proc.c ALSA: usb-audio: automatically detect feedback format 2010-10-27 09:17:41 +02:00
proc.h ALSA: usb-audio: refactor code 2010-03-05 08:17:14 +01:00
quirks-table.h ALSA: usb-audio: add Edirol UM-3G support 2012-02-08 09:46:34 +01:00
quirks.c ALSA: usb-audio: avoid integer overflow in create_fixed_stream_quirk() 2012-02-15 14:58:15 +01:00
quirks.h ALSA: usb-audio: refactor code 2010-03-05 08:17:14 +01:00
stream.c ALSA: snd-usb: move code from urb.c to endpoint.c 2011-09-14 17:07:03 +02:00
stream.h ALSA: snd-usb: re-order code 2011-09-14 17:07:02 +02:00
usbaudio.h ALSA: snd-usb: implement new endpoint streaming model 2012-04-13 10:23:42 +02:00