1. 10 12月, 2014 8 次提交
    • T
      ALSA: oxfw: Add hwdep interface · 8985f4ac
      Takashi Sakamoto 提交于
      This interface is designed for mixer/control application. By using this
      interface, an application can get information about firewire node, can
      lock/unlock kernel streaming and can get notification at starting/stopping
      kernel streaming.
      Signed-off-by: NTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Acked-by: NClemens Ladisch <clemens@ladisch.de>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      8985f4ac
    • T
      ALSA: oxfw: Add support for capture/playback MIDI messages · 05588d34
      Takashi Sakamoto 提交于
      This commit adds MIDI functionality with an assumption of 'if the device
      has MIDI comformant data channels in its stream formation, the device has
      one MIDI port'.
      
      When no streams have already started, MIDI functionality starts stream
      with current sampling rate.
      
      When MIDI functionality has already starts some streams and PCM
      functionality is going to start streams at different sampling rate,
      this driver stops streams once and changes sampling rate, then restarts
      streams for both PCM/MIDI substreams.
      Signed-off-by: NTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Acked-by: NClemens Ladisch <clemens@ladisch.de>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      05588d34
    • T
      ALSA: oxfw: Add support AMDTP in-stream · b0ac0009
      Takashi Sakamoto 提交于
      Previous commit adds support for some devices which can capture PCM samples.
      These devices transmit AMDTP stream in non-blocking mode. This commit adds
      functionality to handle AMDTP incoming stream.
      
      OXFW seems to have two quirks:
       - Transmits packets with non-zero dbc in its beginning
       - Transmits packets with wrong values in syt field
      
      For the first quirk, this commit adds CIP_SKIP_INIT_DBC_CHECK flag for
      incoming stream to skip first check of dbc.
      
      For the second quirk, this commit doesn't add duplex stream which
      Fireworks/BeBoB drivers use. So OXFW driver generates syt value for outgoing
      stream.
      
      Here are examples of a sequence of packets transmitted by Behringer F-Control
      Audio 202. There are differences between sequences of syt value when OXFW
      driver transfers outgoing stream or not.
      
      When driver gives no outgoing stream:
      Index   Payload CIP_Header_0    CIP_Header_1
      38      14      00020092        900103D1
      39      12      00020098        900102FF
      40      12      0002009D        9001027F
      41      14      000200A2        90010396
      42      14      000200A8        900102E8
      43      12      000200AE        90010219
      44      14      000200B3        90010331
      45      12      000200B9        9001025F
      46      14      000200BE        90010376
      47      12      000200C4        900102A1
      00      12      000200C9        9001023E
      01      14      000200CE        90010358
      02      12      000200D4        90010289
      03      16      000200D9        900103A3
      04      12      000200E0        900102DD
      05      14      000200E5        900103F1
      06      12      000200EB        90010335
      07      12      000200F0        90010263
      08      14      000200F5        9001037C
      09      12      000200FB        900102AE
      
      When driver gives outgoing stream:
      Index   Payload CIP_Header_0    CIP_Header_1
      38      12      000200BD        900104A8
      39      14      000200C2        900104A8
      40      12      000200C8        900104AC
      41      14      000200CD        900104A9
      42      12      000200D3        900104B1
      43      14      000200D8        900104A8
      44      12      000200DE        900104AA
      45      14      000200E3        900104A9
      46      14      000200E9        900104AE
      47      12      000200EF        900104A8
      00      14      000200F4        900104AD
      01      12      000200FA        900104A7
      02      14      000200FF        900104A9
      03      12      00020005        900104A9
      04      14      0002000A        900104B1
      05      12      00020010        900104AA
      06      14      00020015        900104AD
      07      12      0002001B        900104A7
      08      14      00020020        900104AC
      09      12      00020026        900104A7
      Signed-off-by: NTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Acked-by: NClemens Ladisch <clemens@ladisch.de>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      b0ac0009
    • T
      ALSA: oxfw: Change the way to start stream · f3699e2c
      Takashi Sakamoto 提交于
      In past commit, this driver can keep stream formations for each sampling
      rate. So its stream functionality can decide stream formations with given
      some parameters.
      
      This commit moves related codes from PCM functionality to stream
      functionality. Furthermore, to set stream format correctly, this commit
      uses AV/C Stream Format Information command instead of AV/C Input/Output
      Plug Signal Format command.
      Signed-off-by: NTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Acked-by: NClemens Ladisch <clemens@ladisch.de>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      f3699e2c
    • T
      ALSA: oxfw: Add proc interface for debugging purpose · 3c96101f
      Takashi Sakamoto 提交于
      This commit adds proc interface to get information about stream
      formation. This commit also adds snd_oxfw_stream_get_current_formation()
      to get current stream formation.
      Signed-off-by: NTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Acked-by: NClemens Ladisch <clemens@ladisch.de>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      3c96101f
    • T
      ALSA: oxfw: Change the way to make PCM rules/constraints · 5cd1d3f4
      Takashi Sakamoto 提交于
      In previous commit, this driver can get to know stream formations at
      each supported sampling rates. This commit uses it to make PCM
      rules/constraints and obsoletes hard-coded rules/constraints.
      
      For this purpose, this commit adds 'struct snd_oxfw_stream_formation' and
      snd_oxfw_stream_parse_format() to parse data channel formation of data
      block.
      
      According to datasheet of OXFW970/971, they support 32.0kHz to 196.0kHz.
      
      As long as developers investigate, some devices are confirmed to have
      several formats for the same sampling rate.
      Signed-off-by: NTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Acked-by: NClemens Ladisch <clemens@ladisch.de>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      5cd1d3f4
    • T
      ALSA: oxfw: Add support for AV/C stream format command to get/set supported stream formation · 5b59d809
      Takashi Sakamoto 提交于
      OXFW970/971 may supports AV/C Stream Format Information Specification 1.1
      Working Draft (Apr 2005, 1394TA). By using this command, drivers can get to know
      stream formations which device supports.
      
      This commit adds 'EXTENDED STREAM FORMAT INFORMATION' command. This command
      has two subfunctions, 'SINGLE' and 'LIST'. Drivers can use 'SINGLE' subfunction
      to know/set current formation of AMDTP stream, Drivers can use 'LIST'
      subfunction to know an available formation of AMDTP stream in a certain sampling
      rate.
      
      But some devices don't implement the 'LIST' subfunction. So this commit uses
      an assumption that 'if they don't implement it, they don't change stream
      formation depending on current each sampling rate'. With this assumption, this
      driver generates formations for such devices by:
       1.getting current formation by SINGLE subfunction
       2.getting supported sampling rates
       3.applying current formation for all of supported sampling rates
      
      Followed commit implements a parser of this format information.
      Signed-off-by: NTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Acked-by: NClemens Ladisch <clemens@ladisch.de>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      5b59d809
    • T
      ALSA: oxfw: Change the way to name card · fec7b753
      Takashi Sakamoto 提交于
      This is a preparation for more models. In following commit, members
      of 'struct snd_card' related to name becomes to consists of vendor and
      model strings in device's config-rom.
      
      Current supported devices also has strings in their config rom, but the
      strings are too long to name sound card, thus this driver still keep
      hard-coded vendor and model names for them.
      Signed-off-by: NTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Acked-by: NClemens Ladisch <clemens@ladisch.de>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      fec7b753
  2. 30 11月, 2014 3 次提交