Skip to content
  1. Jun 18, 2019
  2. Jun 17, 2019
  3. Jun 14, 2019
  4. Jun 13, 2019
  5. Jun 12, 2019
  6. Jun 11, 2019
    • Takashi Sakamoto's avatar
      ALSA: dice: code refactoring for pcm.hw_params/hw_free callbacks · 4dbf4f44
      Takashi Sakamoto authored
      
      
      The pairs of pcm.hw_params callbacks and .hw_free callbacks for both
      direction have no differences.
      
      This commit unifies the pairs.
      
      Signed-off-by: default avatarTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      4dbf4f44
    • Takashi Sakamoto's avatar
      ALSA: dice: update isochronous resources when starting packet streaming after bus-reset · d5553026
      Takashi Sakamoto authored
      
      
      After bus reset, isochronous resource manager releases all of allocated
      isochronous resources. The nodes to transfer isochronous packet should
      request reallocation of the resources.
      
      However, between the bus-reset and invocation of 'struct fw_driver.update'
      handler, ALSA PCM application can detect this situation by XRUN because
      the target device cancelled to transmit packets once bus-reset occurs.
      
      Due to the above mechanism, ALSA fireface driver just stops packet
      streaming in the update handler, thus pcm.prepare handler should
      request the reallocation.
      
      This commit requests the reallocation in pcm.prepare callback when
      bus generation is changed.
      
      Signed-off-by: default avatarTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      d5553026
    • Takashi Sakamoto's avatar
      ALSA: dice: reserve/release isochronous resources in pcm.hw_params/hw_free callbacks · 3cd2c2d7
      Takashi Sakamoto authored
      
      
      Once allocated, isochronous resources are available for packet
      streaming, even if the streaming is cancelled. For this reason,
      current implementation handles allocation of the resources and
      starting packet streaming at the same time. However, this brings
      complicated procedure to start packet streaming.
      
      This commit separates the allocation and starting. The allocation is
      done in pcm.hw_params callback and available till pcm.hw_free callback.
      Even if any XRUN occurs, pcm.prepare callback is done to restart
      packet streaming without releasing/allocating the resources.
      
      There are two points to stop packet streaming; in pcm.hw_params and
      pcm.prepare callbacks. The former point is a case that packet streaming
      is already started for any MIDI substream then packet streaming is
      requested with different sampling transfer frequency for any PCM
      substream. The latter point is cases of any XRUN or packet queueing
      error.
      
      Signed-off-by: default avatarTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      3cd2c2d7