[alsa-devel] [RFC v2][PATCH 00/11] digi00x: new driver for Digidesign 002/003 family
Takashi Sakamoto
o-takashi at sakamocchi.jp
Sun Mar 29 17:05:20 CEST 2015
This patchset is revised version of my previous set.
[alsa-devel] [RFC][PATCH 00/11] digi00x: new driver for Digidesign 002/003 family
http://mailman.alsa-project.org/pipermail/alsa-devel/2015-March/089141.html
Improvements from the previous set:
* improve double-oh-three (DOT) application
* extend hwdep interface for asynchronous messaging
* limit sampling rate for PCM substream when clock source is external or
any PCM substreams are running
* support s16 samples for PCM playback
In this time, I test PCM functionality with my test programs. As a result,
I can confirm that S/PDIF and ADAT output from my Digi 002 Rack includes
expected PCM samples as my programs generates. I think we can judge the
implementation of DOT is proper for Digi 002 rack.
Currently, several issues remains:
* The port for MIDI machine control message is not tested yet, because
002/003 console model are required.
* When allocates 2 or more channel numbers for the device, after 15 to 20
seconds from playbacking, any PCM samples causes noisy sound. Then, all
of LED on the front panel light. The streaming still continues correctly.
* The actual effects of external clock source is not clear. When set the
clock source is somewhat external, even if stopping the clock source,
the device continues to sound PCM samples against my expectation.
* The meaning of asynchronous messages is unknown. This patchset adds
a functionality to receive it in userspace. You can test it with
updated libhinawa sample script.
https://github.com/takaswie/libhinawa
Well, I'll stop my work for this driver in this developing period
(for Linux 4.0), because this work is not in my original plan. I hope any
users test this driver and report the result till Linux 4.2 merge window.
If not, this driver will not be merged into upstream, naturally.
I prepare for DKMS package to test this patchset. Please use it if needed.
https://github.com/takaswie/snd-firewire-improve
Takashi Sakamoto (11):
ALSA: digi00x: add skeleton for Digi 002/003 device driver
ALSA: digi00x: add streaming functionality
ALSA: digi00x: add proc node for clock status
ALSA: digi00x: add PCM functionality
ALSA: digi00x: add MIDI functionality
ALSA: digi00x: add hwdep interface
ALSA: digi00x: support unknown asynchronous message
ALSA: digi00x: support MIDI ports for device control
ALSA: firewire-lib: allows to implement external MIDI callback function
ALSA: digi00x: improve MIDI capture/playback
ALSA: digi00x: apply double-oh-three algorithm to multiplex PCM samples
include/uapi/sound/asound.h | 3 +-
include/uapi/sound/firewire.h | 8 +
sound/firewire/Kconfig | 10 +
sound/firewire/Makefile | 1 +
sound/firewire/amdtp.c | 30 ++-
sound/firewire/amdtp.h | 5 +
sound/firewire/digi00x/Makefile | 3 +
sound/firewire/digi00x/digi00x-hwdep.c | 200 +++++++++++++++
sound/firewire/digi00x/digi00x-midi.c | 199 +++++++++++++++
sound/firewire/digi00x/digi00x-pcm.c | 344 +++++++++++++++++++++++++
sound/firewire/digi00x/digi00x-proc.c | 86 +++++++
sound/firewire/digi00x/digi00x-protocol.c | 406 ++++++++++++++++++++++++++++++
sound/firewire/digi00x/digi00x-stream.c | 393 +++++++++++++++++++++++++++++
sound/firewire/digi00x/digi00x.c | 179 +++++++++++++
sound/firewire/digi00x/digi00x.h | 167 ++++++++++++
15 files changed, 2026 insertions(+), 8 deletions(-)
create mode 100644 sound/firewire/digi00x/Makefile
create mode 100644 sound/firewire/digi00x/digi00x-hwdep.c
create mode 100644 sound/firewire/digi00x/digi00x-midi.c
create mode 100644 sound/firewire/digi00x/digi00x-pcm.c
create mode 100644 sound/firewire/digi00x/digi00x-proc.c
create mode 100644 sound/firewire/digi00x/digi00x-protocol.c
create mode 100644 sound/firewire/digi00x/digi00x-stream.c
create mode 100644 sound/firewire/digi00x/digi00x.c
create mode 100644 sound/firewire/digi00x/digi00x.h
--
2.1.0
More information about the Alsa-devel
mailing list