From mboxrd@z Thu Jan 1 00:00:00 1970 From: Takashi Sakamoto Subject: [GIT PULL][PATCH 00/39] Enhancement of support for Firewire devices Date: Fri, 28 Feb 2014 12:27:13 +0900 Message-ID: <1393558072-25926-1-git-send-email-o-takashi@sakamocchi.jp> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from smtp311.phy.lolipop.jp (smtp311.phy.lolipop.jp [210.157.22.79]) by alsa0.perex.cz (Postfix) with ESMTP id 1C359264F29 for ; Fri, 28 Feb 2014 04:28:01 +0100 (CET) List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: alsa-devel-bounces@alsa-project.org Sender: alsa-devel-bounces@alsa-project.org To: clemens@ladisch.de, tiwai@suse.de, perex@perex.cz Cc: alsa-devel@alsa-project.org, ffado-devel@lists.sf.net List-Id: alsa-devel@alsa-project.org 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