1. 28 10月, 2013 2 次提交
  2. 24 10月, 2013 3 次提交
  3. 26 9月, 2013 1 次提交
  4. 20 9月, 2013 1 次提交
  5. 19 8月, 2013 1 次提交
    • T
      ALSA: pcm: Use snd_printd_ratelimit() · 74d779ab
      Tim Gardner 提交于
      The use of snd_printd_ratelimit() supresses superfluous output from
      printk_ratelimit() when CONFIG_SND_DEBUG is not defined. For example,
      
      [   43.753692] snd_pcm_update_hw_ptr0: 26 callbacks suppressed
      [   48.822131] snd_pcm_update_hw_ptr0: 25 callbacks suppressed
      [   53.894953] snd_pcm_update_hw_ptr0: 25 callbacks suppressed
      [   58.997761] snd_pcm_update_hw_ptr0: 25 callbacks suppressed
      [   64.100952] snd_pcm_update_hw_ptr0: 25 callbacks suppressed
      
      fills the log even when no debug output is actually produced.
      
      Cc: Jaroslav Kysela <perex@perex.cz>
      Cc: Takashi Iwai <tiwai@suse.de>
      Cc: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
      Cc: Lars-Peter Clausen <lars@metafoo.de>
      Cc: Yacine Belkadi <yacine.belkadi.1@gmail.com>
      Signed-off-by: NTim Gardner <tim.gardner@canonical.com>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      74d779ab
  6. 16 8月, 2013 1 次提交
  7. 15 8月, 2013 1 次提交
  8. 29 7月, 2013 1 次提交
  9. 17 7月, 2013 1 次提交
    • T
      ALSA: seq-oss: Initialize MIDI clients asynchronously · 256ca9c3
      Takashi Iwai 提交于
      We've got bug reports that the module loading stuck on Debian system
      with 3.10 kernel.  The debugging session revealed that the initial
      registration of OSS sequencer clients stuck at module loading time,
      which involves again with request_module() at the init phase.  This is
      triggered only by special --install stuff Debian is using, but it's
      still not good to have such loops.
      
      As a workaround, call the registration part asynchronously.  This is a
      better approach irrespective of the hang fix, in anyway.
      Reported-and-tested-by: NPhilipp Matthias Hahn <pmhahn@pmhahn.de>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      256ca9c3
  10. 03 7月, 2013 1 次提交
  11. 29 6月, 2013 1 次提交
  12. 24 6月, 2013 1 次提交
    • T
      ALSA: vmaster: Add snd_ctl_sync_vmaster() helper function · 1ca2f2ec
      Takashi Iwai 提交于
      Introduce a new helper function, snd_ctl_sync_vmaster(), which updates
      the slave put callbacks forcibly as well as calling the hook.  This
      will be used in the upcoming patch in HD-audio codec driver for
      toggling the mute in vmaster slaves.
      
      Along with the new function, the old snd_ctl_sync_vmaster_hook() is
      replaced as a macro calling with the argument hook_only=true.
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      1ca2f2ec
  13. 15 6月, 2013 1 次提交
  14. 24 5月, 2013 3 次提交
    • T
      ALSA: Add kconfig to specify the max card numbers · 7bb2491b
      Takashi Iwai 提交于
      Currently ALSA supports up to 32 card instances when the dynamic minor
      is used.  While 32 cards are usually big enough for normal use cases,
      there are sometimes weird requirements with more card support.
      
      Actually, this limitation, 32, comes from the index option, where you
      can pass the bit mask to assign the card.  Other than that, we can
      actually give more cards up to the minor number limits (currently 256,
      which can be extended more, too).
      
      This patch adds a new Kconfig to specify the max card numbers, and
      changes a few places to accept more than 32 cards.
      
      The only incompatibility with high card numbers would be the handling
      of index option.  The index option can be still used to pass the
      bitmask for card assignments, but this works only up to 32 slots.
      More than 32, no bitmask style option is available but only a single
      slot can be specified via index option.
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      7bb2491b
    • T
      ALSA: Fix the default suffix string with high card number · 8edbb198
      Takashi Iwai 提交于
      ALSA core tries to add a suffix as "_1" automatically when the given
      id string conflicts.  The current code assumes implicitly that the max
      card number is 16 so that the single hex "_X" suffix can be put.
      However, with the dynamic device management, the card can be at most
      32, so it can put even a non-hex character there.  Also, when the max
      card number is increased in future, this would result in worse.
      
      This patch rewrites the code to add the suffix string in a simpler
      (thus cleaner) way.  It can support up to three digits, so it should
      suffice for most requirements.
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      8edbb198
    • L
      ALSA: Constify the snd_pcm_substream struct ops field · e6c2e7eb
      Lars-Peter Clausen 提交于
      The ops field of the snd_pcm_substream struct is never modified inside the ALSA
      core. Making it const allows drivers to declare their snd_pcm_ops struct as
      const.
      Signed-off-by: NLars-Peter Clausen <lars@metafoo.de>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      e6c2e7eb
  15. 08 5月, 2013 1 次提交
  16. 02 5月, 2013 2 次提交
  17. 29 4月, 2013 1 次提交
  18. 22 4月, 2013 2 次提交
  19. 21 4月, 2013 6 次提交
  20. 20 4月, 2013 1 次提交
  21. 18 4月, 2013 1 次提交
    • D
      ALSA: add DSD formats · ef7a4f97
      Daniel Mack 提交于
      This patch adds two formats for Direct Stream Digital (DSD), a
      pulse-density encoding format which is described here:
      https://en.wikipedia.org/wiki/Direct_Stream_Digital
      
      DSD operates on 2.8, 5.6 or 11.2MHz sample rates and as a 1-bit
      stream.
      
      The two new types added by this patch describe streams that are capable
      of handling DSD samples in DOP format as 8-bit or in 16-bit (or at a x8
      or x16 data rate, respectively).
      
      DSD itself specifies samples in *bit*, while DOP and ALSA handle them
      as *bytes*. Hence, a factor of 8 or 16 has to be applied for the sample
      rare configuration, according to the following table:
      
                                                        configured hardware
              176.4KHz   352.8kHz   705.6KHz     <----       sample rate
      
      8-bit                2.8MHz     5.6MHz
      16-bit    2.8Mhz     5.6MHz    11.2MHz
      
               `-----------------------------'
                   actual DSD sample rates
      Signed-off-by: NDaniel Mack <zonque@gmail.com>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      ef7a4f97
  22. 10 4月, 2013 2 次提交
  23. 13 3月, 2013 2 次提交
  24. 12 3月, 2013 1 次提交
  25. 11 3月, 2013 1 次提交
    • T
      ALSA: seq: Fix missing error handling in snd_seq_timer_open() · 66efdc71
      Takashi Iwai 提交于
      snd_seq_timer_open() didn't catch the whole error path but let through
      if the timer id is a slave.  This may lead to Oops by accessing the
      uninitialized pointer.
      
       BUG: unable to handle kernel NULL pointer dereference at 00000000000002ae
       IP: [<ffffffff819b3477>] snd_seq_timer_open+0xe7/0x130
       PGD 785cd067 PUD 76964067 PMD 0
       Oops: 0002 [#4] SMP
       CPU 0
       Pid: 4288, comm: trinity-child7 Tainted: G      D W 3.9.0-rc1+ #100 Bochs Bochs
       RIP: 0010:[<ffffffff819b3477>]  [<ffffffff819b3477>] snd_seq_timer_open+0xe7/0x130
       RSP: 0018:ffff88006ece7d38  EFLAGS: 00010246
       RAX: 0000000000000286 RBX: ffff88007851b400 RCX: 0000000000000000
       RDX: 000000000000ffff RSI: ffff88006ece7d58 RDI: ffff88006ece7d38
       RBP: ffff88006ece7d98 R08: 000000000000000a R09: 000000000000fffe
       R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000000
       R13: ffff8800792c5400 R14: 0000000000e8f000 R15: 0000000000000007
       FS:  00007f7aaa650700(0000) GS:ffff88007f800000(0000) GS:0000000000000000
       CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
       CR2: 00000000000002ae CR3: 000000006efec000 CR4: 00000000000006f0
       DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
       DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
       Process trinity-child7 (pid: 4288, threadinfo ffff88006ece6000, task ffff880076a8a290)
       Stack:
        0000000000000286 ffffffff828f2be0 ffff88006ece7d58 ffffffff810f354d
        65636e6575716573 2065756575712072 ffff8800792c0030 0000000000000000
        ffff88006ece7d98 ffff8800792c5400 ffff88007851b400 ffff8800792c5520
       Call Trace:
        [<ffffffff810f354d>] ? trace_hardirqs_on+0xd/0x10
        [<ffffffff819b17e9>] snd_seq_queue_timer_open+0x29/0x70
        [<ffffffff819ae01a>] snd_seq_ioctl_set_queue_timer+0xda/0x120
        [<ffffffff819acb9b>] snd_seq_do_ioctl+0x9b/0xd0
        [<ffffffff819acbe0>] snd_seq_ioctl+0x10/0x20
        [<ffffffff811b9542>] do_vfs_ioctl+0x522/0x570
        [<ffffffff8130a4b3>] ? file_has_perm+0x83/0xa0
        [<ffffffff810f354d>] ? trace_hardirqs_on+0xd/0x10
        [<ffffffff811b95ed>] sys_ioctl+0x5d/0xa0
        [<ffffffff813663fe>] ? trace_hardirqs_on_thunk+0x3a/0x3f
        [<ffffffff81faed69>] system_call_fastpath+0x16/0x1b
      Reported-and-tested-by: NTommi Rantala <tt.rantala@gmail.com>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      66efdc71
  26. 05 3月, 2013 1 次提交
    • T
      ALSA: vmaster: Fix slave change notification · 2069d483
      Takashi Iwai 提交于
      When a value of a vmaster slave control is changed, the ctl change
      notification is sometimes ignored.  This happens when the master
      control overrides, e.g. when the corresponding master control is
      muted.  The reason is that slave_put() returns the value of the actual
      slave put callback, and it doesn't reflect the virtual slave value
      change.
      
      This patch fixes the function just to return 1 whenever a slave value
      is changed.
      
      Cc: <stable@vger.kernel.org>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      2069d483