1. 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
  2. 22 Jul, 2009 1 commit
  3. 08 Jun, 2009 1 commit
  4. 02 Jun, 2009 3 commits
    • Takashi Iwai's avatar
      ALSA: ctxfi - Support SG-buffers · c76157d9
      Takashi Iwai authored
      
      Use SG-buffers instead of contiguous pages.
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      c76157d9
    • Takashi Iwai's avatar
      ALSA: ctxfi - Remove PAGE_SIZE limitation · cd391e20
      Takashi Iwai authored
      
      Remove the limitation of PAGE_SIZE to be 4k by defining the own
      page size and macros for 4k.  8kb page size could be natively supported,
      but it's disabled right now for simplicity.
      
      Also, clean up using upper_32_bits() macro.
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      cd391e20
    • Takashi Iwai's avatar
      ALSA: ctxfi - Fix Oops at mmapping · 8a4259bf
      Takashi Iwai authored
      
      Replace a spinlock with a mutex protecting the vm block list at
      mmap / munmap calls, which caused Oops like below:
      
      BUG: sleeping function called from invalid context at mm/slub.c:1599
      in_atomic(): 0, irqs_disabled(): 1, pid: 32065, name: xine
      Pid: 32065, comm: xine Tainted: P           2.6.29.4-75.fc10.x86_64 #1
      Call Trace:
        [<ffffffff81040685>] __might_sleep+0x105/0x10a
        [<ffffffff810c9fae>] kmem_cache_alloc+0x32/0xe2
        [<ffffffffa08e3110>] ct_vm_map+0xfa/0x19e [snd_ctxfi]
        [<ffffffffa08e1a07>] ct_map_audio_buffer+0x4c/0x76 [snd_ctxfi]
        [<ffffffffa08e2aa5>] atc_pcm_playback_prepare+0x1d7/0x2a8 [snd_ctxfi]
        [<ffffffff8105ef3f>] ? up_read+0x9/0xb
        [<ffffffff81186b61>] ? __up_read+0x7c/0x87
        [<ffffffffa08e36a6>] ct_pcm_playback_prepare+0x39/0x60 [snd_ctxfi]
        [<ffffffffa0886bcb>] snd_pcm_do_prepare+0x16/0x28 [snd_pcm]
        [<ffffffffa08867c7>] snd_pcm_action_single+0x2d/0x5b [snd_pcm]
        [<ffffffffa08881f3>] snd_pcm_action_nonatomic+0x52/0x6a [snd_pcm]
        [<ffffffffa088a723>] snd_pcm_common_ioctl1+0x404/0xc79 [snd_pcm]
        [<ffffffff810c52c8>] ? alloc_pages_current+0xb9/0xc2
        [<ffffffff810c9402>] ? new_slab+0x1a5/0x1cb
        [<ffffffff810ab9ea>] ? vma_prio_tree_insert+0x23/0xc1
        [<ffffffffa088b411>] snd_pcm_playback_ioctl1+0x213/0x230 [snd_pcm]
        [<ffffffff810b6c20>] ? mmap_region+0x397/0x4c9
        [<ffffffffa088bd9b>] snd_pcm_playback_ioctl+0x2e/0x36 [snd_pcm]
        [<ffffffff810ddc64>] vfs_ioctl+0x2a/0x78
        [<ffffffff810de130>] do_vfs_ioctl+0x462/0x4a2
        [<ffffffff81029cef>] ? default_spin_lock_flags+0x9/0xe
        [<ffffffff81374647>] ? trace_hardirqs_off_thunk+0x3a/0x6c
        [<ffffffff810de1c5>] sys_ioctl+0x55/0x77
        [<ffffffff8101133a>] system_call_fastpath+0x16/0x1b
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      8a4259bf
  5. 14 May, 2009 2 commits