1. 14 5月, 2012 2 次提交
  2. 12 5月, 2012 2 次提交
    • M
      ALSA: usb-audio: Fix comment · 7df4a691
      Mark Hills 提交于
      Explained by Takashi in <s5hfwbtmz0q.wl%tiwai@suse.de>
      
      > The reason is because get_min_max*() isn't called in the place you
      > created these controls, and get_min_max() would be called only for
      > integer volumes later even if uninitialized.  A short cut for booleans.
      Signed-off-by: NMark Hills <mark@pogo.org.uk>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      7df4a691
    • T
      ALSA: pcm - Optimize the call of snd_pcm_update_hw_ptr() in read/write loop · 0910c216
      Takashi Iwai 提交于
      In the PCM read/write loop, the driver calls snd_pcm_update_hw_ptr()
      at each time at the beginning of the loop.  Russell King reported that
      this hogs CPU significantly.
      
      The current code assumes that the pointer callback is very fast and
      cheap, also not too much fine grained.  It's not true in all cases.
      When the pointer advances short samples while the read/write copy has
      been performed, the driver updates the hw_ptr and gets avail > 0
      again.  Then it tries to read/write these small chunks.  This repeats
      until the avail really gets to zero.
      
      For avoiding this situation, a simple workaround is to call
      snd_pcm_update_hw_ptr() only once at starting the loop, assuming that
      the read/write copy is performed fast enough.  If the available count
      becomes short, it goes to snd_pcm_wait_avail() anyway, and this
      processes right.
      Tested-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      0910c216
  3. 11 5月, 2012 1 次提交
  4. 08 5月, 2012 3 次提交
  5. 05 5月, 2012 1 次提交
  6. 26 4月, 2012 1 次提交
  7. 25 4月, 2012 1 次提交
  8. 24 4月, 2012 8 次提交
  9. 21 4月, 2012 1 次提交
  10. 18 4月, 2012 3 次提交
  11. 15 4月, 2012 2 次提交
  12. 13 4月, 2012 9 次提交
  13. 10 4月, 2012 3 次提交
  14. 07 4月, 2012 3 次提交