1. 26 May, 2014 7 commits
    • Takashi Sakamoto's avatar
      ALSA: fireworks: Add hwdep interface · 594ddced
      Takashi Sakamoto authored
      This interface is designed for mixer/control application. To use hwdep
      interface, the application can get information about firewire node, can
      lock/unlock kernel streaming and can get notification at starting/stopping
      kernel streaming.
      Signed-off-by: 's avatarTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Signed-off-by: 's avatarTakashi Iwai <tiwai@suse.de>
      594ddced
    • Takashi Sakamoto's avatar
      ALSA: fireworks: Add PCM interface · aa02bb6e
      Takashi Sakamoto authored
      This commit adds a functionality to capture/playback PCM samples.
      
      When AMDTP stream is already running for PCM or the source of clock is not
      internal, available sampling rate is limited at current one.
      Signed-off-by: 's avatarTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Signed-off-by: 's avatarTakashi Iwai <tiwai@suse.de>
      aa02bb6e
    • Takashi Sakamoto's avatar
      ALSA: fireworks: Add MIDI interface · a63d3ff1
      Takashi Sakamoto authored
      This commit adds a functionality to capture/playback MIDI messages.
      
      When no AMDTP streams are running, this driver starts AMDTP stream for MIDI
      stream at current sampling rate.
      Signed-off-by: 's avatarTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Signed-off-by: 's avatarTakashi Iwai <tiwai@suse.de>
      a63d3ff1
    • Takashi Sakamoto's avatar
      ALSA: fireworks: Add proc interface for debugging purpose · 6a22683e
      Takashi Sakamoto authored
      This commit adds proc interface to output infomation for debugging.
       - firmware information
       - sampling rate and clock source
       - physical metering (linear value)
      Signed-off-by: 's avatarTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Signed-off-by: 's avatarTakashi Iwai <tiwai@suse.de>
      6a22683e
    • Takashi Sakamoto's avatar
      ALSA: fireworks: Add connection and stream management · 315fd41f
      Takashi Sakamoto authored
      Fireworks manages connections by CMP and can transmit/receive AMDTP streams
      with a few quirks. This commit adds functionality to start/stop the streams.
      
      Major Fireworks products don't support 'SYT-Match' clock source mode, except
      for AudioFire12/8(till 2009 July) with firmware version 1.0. Already in
      previous commit, this driver don't support such old firmwares. So this commit
      adds support for non 'SYT-Match' clock source modes.
      
      I note that this driver has a short gap for MIDI streams when starting PCM
      stream. When AMDTP streams are running only for MIDI data and PCM data is
      going to be joined at different sampling rate, then AMDTP streams are
      stopped once and started again after changing sampling rate.
      
      Unfortunately, Fireworks is not fully compliant to IEC 61883-1/6. Some commits
      following to this commit add these quirks.
      Signed-off-by: 's avatarTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Signed-off-by: 's avatarTakashi Iwai <tiwai@suse.de>
      315fd41f
    • Takashi Sakamoto's avatar
      ALSA: fireworks: Add transaction and some commands · bde8a8f2
      Takashi Sakamoto authored
      Fireworks uses own command and response. This commit adds functionality to
      transact and adds some commands required for sound card instance and kernel
      streaming.
      
      There are two ways to deliver substance of this transaction:
      1.AV/C vendor dependent command for command/response
      2.Async transaction to specific addresses for command/response
      
      By way 1, I confirm AudioFire12 cannot correctly response to some commands with
      firmware version 5.0 or later. This is also confirmed by FFADO. So this driver
      implement way 2.
      
      The address for response gives an issue. When this driver allocate own callback
      function into the address, then no one can allocate its own callback function.
      This situation is not good for applications in user-land. This issue is solved
      in later commit.
      
      I note there is a command to change the address for response if the device
      supports. But this driver uses default value. So users should not execute this
      command as long as hoping this driver works correctly.
      Signed-off-by: 's avatarTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Signed-off-by: 's avatarTakashi Iwai <tiwai@suse.de>
      bde8a8f2
    • Takashi Sakamoto's avatar
      ALSA: fireworks: Add skelton for Fireworks based devices · b5b04336
      Takashi Sakamoto authored
      This commit adds a new driver for devices based on Fireworks. This driver
      just creates/removes card instance according to callbacks.
      
      Fireworks is a board module which Echo Audio produced. This module
      consists of three chipsets:
       - Communication chipset for IEEE1394 PHY/Link and IEC 61883-1/6
       - DSP or/and FPGA for signal processing
       - Flash Memory to store firmwares
      
      Current supported devices:
       - Mackie Onyx 400F/1200F
       - Echo AudioFire12/8(until 2009 July)
       - Echo AudioFire2/4/Pre8/8(since 2009 July)
       - Echo Fireworks 8/HDMI
       - Gibson Robot Interface pack/GoldTop
      Signed-off-by: 's avatarTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Signed-off-by: 's avatarTakashi Iwai <tiwai@suse.de>
      b5b04336