1. 10 Dec, 2014 4 commits
    • Takashi Sakamoto's avatar
      ALSA: dice: Add support for capturing PCM samples · 69dcf3e4
      Takashi Sakamoto authored
      This commit adds a support for capturing PCM samples.
      
      When opposite PCM substream is already running, available sampling rate is
      limited at current one.
      Signed-off-by: default avatarTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Acked-by: default avatarClemens Ladisch <clemens@ladisch.de>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      69dcf3e4
    • Takashi Sakamoto's avatar
      ALSA: dice: Support for non SYT-Match sampling clock source mode · 8fc01fc0
      Takashi Sakamoto authored
      This commit allows this driver to handle devices with non SYT-Match
      sampling clock source.
      
      When sampling clock source is SYT-Match mode, devices handle
      'presentation timestamp' in received packets and generates sampling clock
      according to the information. In this case, driver is synchronization master
      and must transfer correct value in SYT field of each packets in outgoing
      stream, then the outgoing stream is a master stream.
      
      On the other hand, non SYT-Match mode, devices do this. So drivers must pick
      up the value in SYT field of incoming packets and use the value for outgoing
      stream. Currently firewire-lib module achieve this work.
      
      Furthermore, without SYT-Match and internal clock source, the sampling rate
      should be fixed for the other devices connected to the handled device. This
      commit add a restriction of sampling rate at this situation.
      
      With these implementations, this driver has no need to set clock source.
      This commit remove set function.
      Signed-off-by: default avatarTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Acked-by: default avatarClemens Ladisch <clemens@ladisch.de>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      8fc01fc0
    • Takashi Sakamoto's avatar
      ALSA: dice: Add support for duplex streams with synchronization · 9a02843c
      Takashi Sakamoto authored
      This commit adds support for AMDTP in-stream. As a result, Dice driver
      supports full duplex streams with synchronization.
      
      AMDTP can transfer timestamps in its packets. By handling the timestamp,
      devices can synchronize to the other devices or drivers on the same bus.
      
      When Dice chipset is 'enabled', it starts streams with correct settings.
      This 'enable' register is global, thus, when a stream is started to run,
      an opposite stream can't start unless turning off 'enable'. Therefore
      a pair of streams must be running. This causes a loss of CPU usage when
      single stream is needed for neither playbacking or capturing.
      
      This commit assumes that playback-only models also have a functionality
      to transmit stream for delivering timestamps.
      
      Currently, sampling clock source is restricted to SYT-Match mode. This is
      improved in followed commit. I note that at SYT-Match mode, Dice can select
      from 4 streams for synchronization but this driver uses the 1st stream only
      for simplicity.
      Signed-off-by: default avatarTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Acked-by: default avatarClemens Ladisch <clemens@ladisch.de>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      9a02843c
    • Takashi Sakamoto's avatar
      ALSA: dice: Change the way to start stream · 288a8d0c
      Takashi Sakamoto authored
      Streaming functionality can start streams when rate is given but currently
      some codes are in PCM functionality.
      
      This commit changes the way to start stream and add some arrangement
      to make it easy to understand the way.
      Signed-off-by: default avatarTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Acked-by: default avatarClemens Ladisch <clemens@ladisch.de>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      288a8d0c
  2. 08 Dec, 2014 35 commits
  3. 07 Dec, 2014 1 commit