At Fri, 28 Feb 2014 12:27:13 +0900, Takashi Sakamoto wrote:
This is a pull-request of my 39 patches to enhance support for Firewire devices. These patches extend firewire-lib, add new drivers (fireworks/bebob).
These drivers can handle playback/capture of PCM samples/MIDI messages and can support 70-80 models totally.
These drivers are designed not to interrupt FFADO (user-land driver project) functionality except for playbacking/capturing.
These drivers basically give no way to control device's internal mixer. For this purpose, users need to use applications such like ffado-dbus-server/ffado-mixer, or develop software to execute AV/C commands and device specific commands.
Updates since RFC v3: [alsa-devel] [RFC v3] [PATCH 00/52] Enhancement for support of firewire devices http://mailman.alsa-project.org/pipermail/alsa-devel/2014-January/071820.htm...
firewire-lib:
- improve operation for oPCR
- add fallbacks at transaction timeout for device's quirk
fireworks:
- add counter to maintain streams
- use memdup_user() for hwdep interface
bebob:
- add counter to maintain streams
- fix failure to handle bus reset
The following changes since commit dde9c38779c1f30253485a160facc211b20ca222:
Merge branch 'for-linus' (2014-02-27 12:46:40 +0100)
Please don't commit on top of master branch of sound git tree. The master branch is a result of quick merges from all branches, thus inappropriate as a development basis. Rebase to for-next branch instead. The end-result patches must be identical, so you don't have to resend them to ML, though.
thanks,
Takashi
are available in the git repository at:
https://github.com/takaswie/sound.git request
for you to fetch changes up to 0ed07c65fef2f80fcfc6223b0d689fca56fa6323:
bebob: Add support for M-Audio special Firewire series (2014-02-28 11:30:52 +0900)
Takashi Sakamoto (39): firewire-lib: Rename functions, structure, member for AMDTP firewire-lib: Add macros instead of fixed value for AMDTP firewire-lib: Add 'direction' member to 'amdtp_stream' structure firewire-lib: Split some codes into functions to reuse for both streams firewire-lib: Add support for AMDTP in-stream and PCM capture firewire-lib: Add support for MIDI capture/playback firewire-lib: Give syt value as parameter to handle_out_packet() firewire-lib: Add support for duplex streams synchronization in blocking mode firewire-lib: Add sort function for transmitted packet firewire-lib: Add transfer delay to synchronized duplex streams firewire-lib: Add support for channel mapping firewire-lib: Rename macros, variables and functions for CMP firewire-lib: Add 'direction' member to 'cmp_connection' structure firewire-lib: Add handling output connection by CMP firewire-lib: Add a new function to check others' connection firewire-lib: Add some AV/C general commands firewire-lib: Add quirks for Fireworks firewire-lib: Add a fallback at RCODE_CANCELLED fireworks: Add skelton for Fireworks based devices fireworks: Add transaction and some commands fireworks: Add connection and stream management fireworks: Add proc interface for debugging purpose fireworks: Add MIDI interface fireworks: Add PCM interface fireworks: Add hwdep interface fireworks: Add command/response functionality into hwdep interface bebob: Add skelton for BeBoB based devices bebob: Add commands and connections/streams management bebob: Add proc interface for debugging purpose bebob: Add MIDI interface bebob: Add PCM interface bebob: Add hwdep interface bebob: Prepare for device specific operations bebob: Add support for Terratec PHASE, EWS series and Aureon bebob: Add support for Yamaha GO series bebob: Add support for Focusrite Saffire/SaffirePro series bebob: Add support for M-Audio usual Firewire series bebob: Send a cue to load firmware for M-Audio Firewire series bebob: Add support for M-Audio special Firewire series
include/uapi/sound/asound.h | 4 +- include/uapi/sound/firewire.h | 22 +- sound/firewire/Kconfig | 59 ++ sound/firewire/Makefile | 2 + sound/firewire/amdtp.c | 891 ++++++++++++++++------ sound/firewire/amdtp.h | 175 ++++- sound/firewire/bebob/Makefile | 4 + sound/firewire/bebob/bebob.c | 450 +++++++++++ sound/firewire/bebob/bebob.h | 262 +++++++ sound/firewire/bebob/bebob_command.c | 354 +++++++++ sound/firewire/bebob/bebob_focusrite.c | 289 +++++++ sound/firewire/bebob/bebob_hwdep.c | 197 +++++ sound/firewire/bebob/bebob_maudio.c | 922 +++++++++++++++++++++++ sound/firewire/bebob/bebob_midi.c | 170 +++++ sound/firewire/bebob/bebob_pcm.c | 451 +++++++++++ sound/firewire/bebob/bebob_proc.c | 179 +++++ sound/firewire/bebob/bebob_stream.c | 869 +++++++++++++++++++++ sound/firewire/bebob/bebob_terratec.c | 68 ++ sound/firewire/bebob/bebob_yamaha.c | 50 ++ sound/firewire/cmp.c | 229 ++++-- sound/firewire/cmp.h | 14 +- sound/firewire/dice.c | 46 +- sound/firewire/fcp.c | 160 +++- sound/firewire/fcp.h | 21 + sound/firewire/fireworks/Makefile | 4 + sound/firewire/fireworks/fireworks.c | 324 ++++++++ sound/firewire/fireworks/fireworks.h | 223 ++++++ sound/firewire/fireworks/fireworks_command.c | 397 ++++++++++ sound/firewire/fireworks/fireworks_hwdep.c | 294 ++++++++ sound/firewire/fireworks/fireworks_midi.c | 179 +++++ sound/firewire/fireworks/fireworks_pcm.c | 477 ++++++++++++ sound/firewire/fireworks/fireworks_proc.c | 208 +++++ sound/firewire/fireworks/fireworks_stream.c | 337 +++++++++ sound/firewire/fireworks/fireworks_transaction.c | 327 ++++++++ sound/firewire/lib.c | 6 +- sound/firewire/lib.h | 1 + sound/firewire/speakers.c | 93 +-- 37 files changed, 8356 insertions(+), 402 deletions(-) create mode 100644 sound/firewire/bebob/Makefile create mode 100644 sound/firewire/bebob/bebob.c create mode 100644 sound/firewire/bebob/bebob.h create mode 100644 sound/firewire/bebob/bebob_command.c create mode 100644 sound/firewire/bebob/bebob_focusrite.c create mode 100644 sound/firewire/bebob/bebob_hwdep.c create mode 100644 sound/firewire/bebob/bebob_maudio.c create mode 100644 sound/firewire/bebob/bebob_midi.c create mode 100644 sound/firewire/bebob/bebob_pcm.c create mode 100644 sound/firewire/bebob/bebob_proc.c create mode 100644 sound/firewire/bebob/bebob_stream.c create mode 100644 sound/firewire/bebob/bebob_terratec.c create mode 100644 sound/firewire/bebob/bebob_yamaha.c create mode 100644 sound/firewire/fireworks/Makefile create mode 100644 sound/firewire/fireworks/fireworks.c create mode 100644 sound/firewire/fireworks/fireworks.h create mode 100644 sound/firewire/fireworks/fireworks_command.c create mode 100644 sound/firewire/fireworks/fireworks_hwdep.c create mode 100644 sound/firewire/fireworks/fireworks_midi.c create mode 100644 sound/firewire/fireworks/fireworks_pcm.c create mode 100644 sound/firewire/fireworks/fireworks_proc.c create mode 100644 sound/firewire/fireworks/fireworks_stream.c create mode 100644 sound/firewire/fireworks/fireworks_transaction.c -- 1.8.3.2