1. 26 May, 2014 15 commits
  2. 22 Nov, 2013 1 commit
    • Takashi Sakamoto's avatar
      ALSA: firewire-lib: fix wrong value for FDF field as an empty packet · 82755abf
      Takashi Sakamoto authored
      
      
      This commit fix out of specification about the value of FDF field in out packet
      with 'no data'. This affects blocking mode.
      
      According to IEC 61883-6, there is two way to generate AMDTP packets include no
      data in blocking mode.
      
      Way 1. an empty packet defined in IEC 61883-1
       - Size of packet is 2 quadlets.
       - The value of FDF is sfc.
       - The packet includes only CIP headers
      
      Way 2. a special non-empty packet defined in IEC 61883-6
       - Size of packet is following to blocking mode
       - The value of FDF is 0xff. This value is 'NO-DATA'. This means 'The receiver'
         must ignore all the data in a CIP with this FDF code'.
       - The packet includes dummy data.
      
      But current implementation is a combination of them.
       - Size of packet is 2 (way 1)
       - FDF = 0xff (way 2)
      This causes BeBoB chipset cannot sound.
      
      This patch applies Way 1.
      Signed-off-by: default avatarTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Cc: Acked-by: Clemens Ladisch <clemens@ladisch.de>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      82755abf
  3. 20 Oct, 2013 4 commits
  4. 26 Sep, 2013 1 commit
  5. 14 May, 2012 3 commits
  6. 10 May, 2011 1 commit
    • Clemens Ladisch's avatar
      firewire: optimize iso queueing by setting wake only after the last packet · 13882a82
      Clemens Ladisch authored
      
      
      When queueing iso packets, the run time is dominated by the two
      MMIO accesses that set the DMA context's wake bit.  Because most
      drivers submit packets in batches, we can save much time by
      removing all but the last wakeup.
      
      The internal kernel API is changed to require a call to
      fw_iso_context_queue_flush() after a batch of queued packets.
      The user space API does not change, so one call to
      FW_CDEV_IOC_QUEUE_ISO must specify multiple packets to take
      advantage of this optimization.
      
      In my measurements, this patch reduces the time needed to queue
      fifty skip packets from userspace to one sixth on a 2.5 GHz CPU,
      or to one third at 800 MHz.
      Signed-off-by: default avatarClemens Ladisch <clemens@ladisch.de>
      Signed-off-by: default avatarStefan Richter <stefanr@s5r6.in-berlin.de>
      13882a82
  7. 15 Mar, 2011 3 commits