1. 16 Feb, 2010 3 commits
  2. 11 Feb, 2010 1 commit
  3. 05 Feb, 2010 1 commit
  4. 04 Feb, 2010 1 commit
    • Jaroslav Kysela's avatar
      ALSA: ctxfi - fix PTP address initialization · 21956b61
      Jaroslav Kysela authored
      After hours of debugging, I finally found the reason why some source
      and runtime combination does not work. The PTP (page table pages)
      address must be aligned. I am not sure how much, but alignment to
      PAGE_SIZE is sufficient. Also, use ALSA's page allocation routines
      to ensure proper virtual -> physical address translation.
      
      Cc: <stable@kernel.org>
      Signed-off-by: default avatarJaroslav Kysela <perex@perex.cz>
      21956b61
  5. 02 Feb, 2010 1 commit
  6. 01 Feb, 2010 2 commits
  7. 27 Jan, 2010 1 commit
    • Jaroslav Kysela's avatar
      ALSA: pcm_native - fix runtime->boundary calculation · 7910b4a1
      Jaroslav Kysela authored
      The code in pcm_lib updating runtime->hw_ptr_interrupt expects
      that runtime->boundary is divisible with runtime->period_size.
      Thanks are going to Clemens Ladisch for the notice.
      
      Fix the runtime->boundary calculation using buffer_size * period_size
      as base and find a least common multiple for 32bit platforms when
      the expression might overflow.
      Signed-off-by: default avatarJaroslav Kysela <perex@perex.cz>
      7910b4a1
  8. 26 Jan, 2010 1 commit
    • Jaroslav Kysela's avatar
      ALSA: pcm_lib - return back hw_ptr_interrupt · e7636925
      Jaroslav Kysela authored
      Clemens Ladisch noted for hw_ptr_removal in "cleanup & merge hw_ptr
      update functions" commit:
      
      "It is possible for the status/delay ioctls to be called when the sound
      card's pointer register alreay shows a position at the beginning of the
      new period, but immediately before the interrupt is actually executed.
      (This happens regularly on a SMP machine with mplayer.)  When that
      happens, the code thinks that the position must be at least one period
      ahead of the current position and drops an entire buffer of data."
      
      Return back the hw_ptr_interrupt variable. The last interrupt pointer
      is always computed from the latest hw_ptr instead of tracking it
      separately (in this case all hw_ptr checks and modifications might
      influence also hw_ptr_interrupt and it is difficult to keep it
      consistent).
      Signed-off-by: default avatarJaroslav Kysela <perex@perex.cz>
      e7636925
  9. 21 Jan, 2010 2 commits
  10. 18 Jan, 2010 2 commits
  11. 13 Jan, 2010 1 commit
  12. 10 Jan, 2010 2 commits
  13. 08 Jan, 2010 9 commits
  14. 07 Jan, 2010 13 commits