[alsa-devel] [GIT PULL][PATCH 00/39] Enhancement of support for Firewire devices

Takashi Sakamoto o-takashi at sakamocchi.jp
Fri Feb 28 04:27:13 CET 2014


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.html 

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)

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



More information about the Alsa-devel mailing list