1. 09 6月, 2009 3 次提交
  2. 08 6月, 2009 1 次提交
  3. 05 6月, 2009 2 次提交
    • T
      ALSA: ctxfi - Clean up / optimize · 2a36f67f
      Takashi Iwai 提交于
      - Use static tables instead of assigining each funciton pointer
      - Add __devinit* to appropriate places; pcm, mixer and timer cannot be
        marked because they are kept in the function table that lives long
      - Move create_alsa_devs function out of struct ct_atc to mark it
        __devinit
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      2a36f67f
    • T
      ALSA: ctxfi - Use native timer interrupt on emu20k1 · b7bbf876
      Takashi Iwai 提交于
      emu20k1 has a native timer interrupt based on the audio clock, which
      is more accurate than the system timer (from the synchronization POV).
      This patch adds the code to handle this with multiple streams.
      
      The system timer is still used on emu20k2, and can be used also for
      emu20k1 easily by changing USE_SYSTEM_TIMER to 1 in cttimer.c.
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      b7bbf876
  4. 02 6月, 2009 5 次提交
    • T
      ALSA: ctxfi - Support SG-buffers · c76157d9
      Takashi Iwai 提交于
      Use SG-buffers instead of contiguous pages.
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      c76157d9
    • T
      ALSA: ctxfi - Fix supported PCM formats · d2b9b96c
      Takashi Iwai 提交于
      The device seems supporting only U8, S16, S24_3LE, S32.  Other linear
      formats result in bad outputs.
      
      Also, added the support for 32bit float format, which wasn't listed
      in the original code.
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      d2b9b96c
    • T
      ALSA: ctxfi - Fix PCM device naming · 8372d498
      Takashi Iwai 提交于
      PCM names for surround streams should be also fixed as well as the mixer
      element names.  Also, a bit clean up for PCM name setup.
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      8372d498
    • T
      ALSA: ALSA: ctxfi - Release PCM resources at each prepare call · 822fa19b
      Takashi Iwai 提交于
      The prepare callback can be called multiple times, thus it needs to
      release and acquire the resource again by itself at the second or later
      call.
      
      Simply add pcm_release_resources() at the beginning of each prepare
      callback in ctatc.c.
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      822fa19b
    • T
      ALSA: ctxfi - Fix Oops at mmapping · 8a4259bf
      Takashi Iwai 提交于
      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: NTakashi Iwai <tiwai@suse.de>
      8a4259bf
  5. 14 5月, 2009 4 次提交