ALSA: dice: Split stream functionality into a file
authorTakashi Sakamoto <o-takashi@sakamocchi.jp>
Fri, 28 Nov 2014 15:59:14 +0000 (00:59 +0900)
committerTakashi Iwai <tiwai@suse.de>
Sat, 29 Nov 2014 19:07:33 +0000 (20:07 +0100)
commit6eb6c81eee2a6270b39ca02a446f3ccece24b6f8
tree6efd40876f0512948be02e153c77afe3917e24a7
parent7c2d4c0cf5bacb42bc3079e61d299dfaa3dbdde5
ALSA: dice: Split stream functionality into a file

This commit adds a file with some helper functions for streaming, and move some
codes into the file with some arrangements.

Well-known CMP is not used to start/stop streams for Dice chipset. It's
achieved by writing to specific address. We call this way as 'enable'.
When devices are 'enabled', streaming starts in registered isochronous channel.
Some helper functions are already implemented in previous commit.

Basically, the stream is compliant to IEC 61883-6, so-called as AMDTP. But Dice
has a specific quirk, so called-as 'Dual Wire'. This quirk is applied at
176.4/192.0kHz. In this mode, each packet includes double number of events than
number in the specification, and stream runs at a half of sampling rate.

There is another quirk at bus reset. Dice chipset handles drivers' request but
don't re-enable streaming. So stream should be stopped.

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/firewire/dice/Makefile
sound/firewire/dice/dice-stream.c [new file with mode: 0644]
sound/firewire/dice/dice.c
sound/firewire/dice/dice.h