1. 08 11月, 2012 1 次提交
  2. 30 10月, 2012 3 次提交
  3. 23 10月, 2012 1 次提交
    • P
      ALSA: core: add hooks for audio timestamps · 4eeaaeae
      Pierre-Louis Bossart 提交于
      ALSA did not provide any direct means to infer the audio time for A/V
      sync and system/audio time correlations (eg. PulseAudio).
      Applications had to track the number of samples read/written and
      add/subtract the number of samples queued in the ring buffer.  This
      accounting led to small errors, typically several samples, due to the
      two-step process.  Computing the audio time in the kernel is more
      direct, as all the information is available in the same routines.
      
      Also add new .audio_wallclock routine to enable fine-grain synchronization
      between monotonic system time and audio hardware time.
      Using the wallclock, if supported in hardware, allows for a
      much better sub-microsecond precision and a common drift tracking for
      all devices sharing the same wall clock (master clock).
      Signed-off-by: NPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      4eeaaeae
  4. 09 10月, 2012 1 次提交
    • K
      mm: kill vma flag VM_RESERVED and mm->reserved_vm counter · 314e51b9
      Konstantin Khlebnikov 提交于
      A long time ago, in v2.4, VM_RESERVED kept swapout process off VMA,
      currently it lost original meaning but still has some effects:
      
       | effect                 | alternative flags
      -+------------------------+---------------------------------------------
      1| account as reserved_vm | VM_IO
      2| skip in core dump      | VM_IO, VM_DONTDUMP
      3| do not merge or expand | VM_IO, VM_DONTEXPAND, VM_HUGETLB, VM_PFNMAP
      4| do not mlock           | VM_IO, VM_DONTEXPAND, VM_HUGETLB, VM_PFNMAP
      
      This patch removes reserved_vm counter from mm_struct.  Seems like nobody
      cares about it, it does not exported into userspace directly, it only
      reduces total_vm showed in proc.
      
      Thus VM_RESERVED can be replaced with VM_IO or pair VM_DONTEXPAND | VM_DONTDUMP.
      
      remap_pfn_range() and io_remap_pfn_range() set VM_IO|VM_DONTEXPAND|VM_DONTDUMP.
      remap_vmalloc_range() set VM_DONTEXPAND | VM_DONTDUMP.
      
      [akpm@linux-foundation.org: drivers/vfio/pci/vfio_pci.c fixup]
      Signed-off-by: NKonstantin Khlebnikov <khlebnikov@openvz.org>
      Cc: Alexander Viro <viro@zeniv.linux.org.uk>
      Cc: Carsten Otte <cotte@de.ibm.com>
      Cc: Chris Metcalf <cmetcalf@tilera.com>
      Cc: Cyrill Gorcunov <gorcunov@openvz.org>
      Cc: Eric Paris <eparis@redhat.com>
      Cc: H. Peter Anvin <hpa@zytor.com>
      Cc: Hugh Dickins <hughd@google.com>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: James Morris <james.l.morris@oracle.com>
      Cc: Jason Baron <jbaron@redhat.com>
      Cc: Kentaro Takeda <takedakn@nttdata.co.jp>
      Cc: Matt Helsley <matthltc@us.ibm.com>
      Cc: Nick Piggin <npiggin@kernel.dk>
      Cc: Oleg Nesterov <oleg@redhat.com>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Robert Richter <robert.richter@amd.com>
      Cc: Suresh Siddha <suresh.b.siddha@intel.com>
      Cc: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
      Cc: Venkatesh Pallipadi <venki@google.com>
      Acked-by: NLinus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      314e51b9
  5. 27 9月, 2012 1 次提交
  6. 21 5月, 2012 1 次提交
  7. 15 3月, 2012 1 次提交
    • T
      ALSA: pcm - Avoid GFP_ATOMIC in snd_pcm_link() · 1662591b
      Takashi Iwai 提交于
      GFP_ATOMIC is used in snd_pcm_link() just because the kmalloc is
      called inside a lock.  Since this function isn't too critical for
      speed and is rarely called in practice, better to allocate the chunk
      at first before spinlock and free it in error paths, so that
      GFP_KERNEL can be used.
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      1662591b
  8. 01 11月, 2011 1 次提交
  9. 10 10月, 2011 1 次提交
  10. 28 9月, 2011 1 次提交
  11. 25 8月, 2011 1 次提交
  12. 26 5月, 2011 2 次提交
  13. 31 3月, 2011 1 次提交
  14. 25 3月, 2011 1 次提交
    • B
      ALSA: vmalloc buffers should use normal mmap · 3674f19d
      Benjamin Herrenschmidt 提交于
      It's a big no-no to use pgprot_noncached() when mmap'ing such buffers
      into userspace since they are mapped cachable in kernel space.
      
      This can cause all sort of interesting things ranging from to garbled
      sound to lockups on various architectures. I've observed that usb-audio
      is broken on powerpc 4xx for example because of that.
      
      Also remove the now unused snd_pcm_lib_mmap_noncached(). It's
      an arch business to know when to use uncached mappings, there's
      already hacks for MIPS inside snd_pcm_default_mmap() and other
      archs are supposed to use dma_mmap_coherent().
      
      (See my separate patch that adds dma_mmap_coherent() to powerpc)
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      CC: <stable@kernel.org>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      3674f19d
  15. 15 2月, 2011 1 次提交
  16. 22 11月, 2010 1 次提交
    • C
      ALSA: pcm: support for period wakeup disabling · ab69a490
      Clemens Ladisch 提交于
      This patch allows to disable period interrupts which are
      not needed when the application relies on a system timer
      to wake-up and refill the ring buffer. The behavior of
      the driver is left unchanged, and interrupts are only
      disabled if the application requests this configuration.
      The behavior in case of underruns is slightly different,
      instead of being detected during the period interrupts the
      underruns are detected when the application calls
      snd_pcm_update_avail, which in turns forces a refresh of the
      hw pointer and shows the buffer is empty.
      
      More specifically this patch makes a lot of sense when
      PulseAudio relies on timer-based scheduling to access audio
      devices such as HDAudio or Intel SST. Disabling interrupts
      removes two unwanted wake-ups due to period elapsed events
      in low-power playback modes. It also simplifies PulseAudio
      voice modules used for speech calls.
      
      To quote Lennart "This patch looks very interesting and
      desirable. This is something have long been waiting for."
      
      Support for this in hardware drivers is optional.
      Signed-off-by: NPierre-Louis Bossart <pierre-louis.bossart@intel.com>
      Signed-off-by: NClemens Ladisch <clemens@ladisch.de>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      ab69a490
  17. 18 11月, 2010 1 次提交
  18. 02 11月, 2010 1 次提交
  19. 17 9月, 2010 1 次提交
  20. 14 9月, 2010 1 次提交
  21. 19 8月, 2010 1 次提交
  22. 18 8月, 2010 2 次提交
  23. 19 7月, 2010 1 次提交
  24. 21 5月, 2010 1 次提交
    • C
      ALSA: pcm: fix the fix of the runtime->boundary calculation · ead4046b
      Clemens Ladisch 提交于
      Commit 7910b4a1 in 2.6.34 changed the
      runtime->boundary calculation to make this value a multiple of both the
      buffer_size and the period_size, because the latter is assumed by the
      runtime->hw_ptr_interrupt calculation.
      
      However, due to the lack of a ioctl that could read the software
      parameters before they are set, the kernel requires that alsa-lib
      calculates the boundary value, too.  The changed algorithm leads to
      a different boundary value used by alsa-lib, which makes, e.g., mplayer
      fail to play a 44.1 kHz file because the silence_size parameter is now
      invalid; bug report:
      <https://bugtrack.alsa-project.org/alsa-bug/view.php?id=5015>.
      
      This patch reverts the change to the boundary calculation, and instead
      fixes the hw_ptr_interrupt calculation to be period-aligned regardless
      of the boundary value.
      Signed-off-by: NClemens Ladisch <clemens@ladisch.de>
      Cc: <stable@kernel.org>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      ead4046b
  25. 12 5月, 2010 1 次提交
  26. 11 5月, 2010 1 次提交
    • M
      PM QOS update · ed77134b
      Mark Gross 提交于
      This patch changes the string based list management to a handle base
      implementation to help with the hot path use of pm-qos, it also renames
      much of the API to use "request" as opposed to "requirement" that was
      used in the initial implementation.  I did this because request more
      accurately represents what it actually does.
      
      Also, I added a string based ABI for users wanting to use a string
      interface.  So if the user writes 0xDDDDDDDD formatted hex it will be
      accepted by the interface.  (someone asked me for it and I don't think
      it hurts anything.)
      
      This patch updates some documentation input I got from Randy.
      Signed-off-by: Nmarkgross <mgross@linux.intel.com>
      Signed-off-by: NRafael J. Wysocki <rjw@sisk.pl>
      ed77134b
  27. 13 4月, 2010 1 次提交
    • T
      ALSA: core - Define llseek fops · 02f4865f
      Takashi Iwai 提交于
      Set no_llseek to llseek file ops of each sound component (but for hwdep).
      This avoids the implicit BKL invocation via generic_file_llseek() used
      as default when fops.llseek is NULL.
      
      Also call nonseekable_open() at each open ops to ensure the file flags
      have no seek bit.
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      02f4865f
  28. 08 4月, 2010 1 次提交
  29. 10 3月, 2010 1 次提交
  30. 16 2月, 2010 1 次提交
  31. 28 1月, 2010 1 次提交
    • J
      ALSA: pcm_native - fix runtime->boundary calculation · 7910b4a1
      Jaroslav Kysela 提交于
      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: NJaroslav Kysela <perex@perex.cz>
      7910b4a1
  32. 27 1月, 2010 1 次提交
    • J
      ALSA: pcm_lib - return back hw_ptr_interrupt · e7636925
      Jaroslav Kysela 提交于
      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: NJaroslav Kysela <perex@perex.cz>
      e7636925
  33. 21 1月, 2010 1 次提交
  34. 18 1月, 2010 2 次提交
  35. 07 1月, 2010 1 次提交