1. 26 5月, 2014 6 次提交
    • T
      ALSA: firewire-lib: Add support for channel mapping · 77d2a8a4
      Takashi Sakamoto 提交于
      Some devices arrange the position of PCM/MIDI data channel in AMDTP packet.
      This commit allows drivers to set channel mapping.
      
      To be simple, the mapping table is an array with fixed length. Then the number
      of channels for PCM is restricted by 64 channels.
      Signed-off-by: NTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      77d2a8a4
    • T
      ALSA: firewire-lib: Add support for duplex streams synchronization in blocking mode · 7b3b0d85
      Takashi Sakamoto 提交于
      Generally, the devices can synchronize to handle 'presentation timestamp'
      in CIP packets. This commit adds functionality to pick up this timestamp from
      in-packets transmitted by the device, then use it for out packets.
      
      In current implementation, this module generated the timestamp by itself. This
      is 'SYT Match' mode. Then drivers with this module acts as synchronization
      master. This commit allows this module to act as synchronization slave.
      
      This commit restricts this mechanism is only available in blocking mode because
      handling the timestamp in non-blocking mode is more complicated than in
      blocking mode.
      Signed-off-by: NTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      7b3b0d85
    • T
      ALSA: firewire-lib: Add support for MIDI capture/playback · 83d8d72d
      Takashi Sakamoto 提交于
      For capturing/playbacking MIDI messages, this commit adds one MIDI conformant
      data channel. This data channel has multiplexed 8 MIDI data streams. So this
      data channel can transfer messages from/to 8 MIDI ports.
      
      And this commit allows to set PCM format even if AMDTP streams already start.
      I suppose the case that PCM substreams are going to be joined into AMDTP
      streams when AMDTP streams are already started for MIDI substreams. Each
      driver must count how many PCM/MIDI substreams use AMDTP streams to stop
      AMDTP streams.
      
      There are differences between specifications about MIDI conformant data.
      
      About the multiplexing, IEC 61883-6:2002, itself, has no information. It
      describes labels and bytes for MIDI messages and refers to MMA/AMEI RP-027
      for 'successfull implementation'. MMA/AMEI RP-027 describes 8 MPX-MIDI data
      streams for one MIDI conformant data channel. IEC 61883-6:2005 adds
      'sequence multiplexing' and apply this way and describe incompatibility
      between 2002 and 2005.
      
      So this commit applies IEC 61883-6:2005. When we find some devices compliant
      to IEC 61883-6:2002, then this difference should be handles as device quirk
      in additional work.
      
      About the number of bytes in an MIDI conformant data, IEC 61883-6:2002 describe
      0,1,2,3 bytes. MMA/AMEI RP-027 describes 'MIDI1.0-1x-SPEED', 'MIDI1.0-2x-SPEED',
      'MIDI1.0-3x-SPEED' modes and the maximum bytes for each mode corresponds to 1,
      2, 3 bytes. The 'MIDI1.0-2x/3x-SPEED' modes are accompanied with 'negotiation
      procedure' and 'encapsulation details' but there is no specifications for them.
      
      So this commit implements 'MIDI1.0-1x-SPEED' mode for playback, but allows
      to pick up 1-3 bytes for capturing.
      Signed-off-by: NTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      83d8d72d
    • T
      ALSA: firewire-lib: Add support for AMDTP in-stream and PCM capture · 2b3fc456
      Takashi Sakamoto 提交于
      For capturing PCM, this commit adds the functionality to handle in-stream.
      This is also applied for dual-wire mode.
      
      Currently, capturing 32bit samples are supported.
      
      When the sequence of in-packet has discontinuity of dbc, in-stream isn't handled
      and amdtp_streaming_error() returns true.
      Signed-off-by: NTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      2b3fc456
    • T
      ALSA: firewire-lib: Add 'direction' member to 'amdtp_stream' structure · 3ff7e8f0
      Takashi Sakamoto 提交于
      This patch adds 'direction' member to amdtp_stream structure to indicate its
      direction. This patch also adds 'direction' argument to amdtp_stream_init()
      function to determine its direction.
      
      The amdtp_stream_init() function is exported and used by firewire-speakers and
      dice so this patch also affects them.
      
      This patch just add them. Actual implementation will be done by followed
      patches.
      Signed-off-by: NTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      3ff7e8f0
    • T
      ALSA: firewire-lib: Rename functions, structure, member for AMDTP · be4a2894
      Takashi Sakamoto 提交于
      This patch renames some functions, a structure and its member to reuse them
      in both AMDTP in/out stream.
      Signed-off-by: NTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      be4a2894
  2. 19 11月, 2013 1 次提交
  3. 21 10月, 2013 4 次提交
  4. 25 6月, 2013 1 次提交
  5. 14 5月, 2012 3 次提交
  6. 15 3月, 2011 2 次提交