[alsa-devel] [PATCH 0/3] ALSA: Add rewind disable support

Subhransu S. Prusty subhransu.s.prusty at intel.com
Tue May 16 03:01:55 CEST 2017


Rewinds can be disabled when data written in ring buffer will never be
validated. This allows for new HDaudio SPIB DMA functionality(allow fetch
up to the application pointer, no rewind supported). Skylake driver
changes using SPIB will be posted once the core changes are merged.

Based on discussion on community, .ack callback is extended with new
attribute argument, to allow fetch up to the application pointer. Also
drop the mmap of status and control if SPIB functionality is reported by
driver.  There may be some slight performance downside, but it's likely
very small.

Verified the changes with tinyalsa and alsa-lib, with both mmap and
without mmap support and it works fine.

Pierre-Louis Bossart (3):
  ALSA: core: let low-level driver or userspace disable rewinds
  ALSA: core: modify .ack callback to take arguments for updating appl
    ptr
  ALSA: pcm: conditionally avoid mmap of control data

 include/sound/pcm-indirect.h  |  4 ++--
 include/sound/pcm.h           |  9 +++++++-
 include/uapi/sound/asound.h   |  2 ++
 sound/core/pcm_lib.c          |  6 ++++--
 sound/core/pcm_native.c       | 49 ++++++++++++++++++++++++++++++++++++++++++-
 sound/mips/hal2.c             | 14 ++++++++++---
 sound/pci/cs46xx/cs46xx_lib.c | 18 ++++++++++++----
 sound/pci/emu10k1/emupcm.c    |  8 +++++--
 sound/pci/rme32.c             | 15 ++++++++++---
 9 files changed, 107 insertions(+), 18 deletions(-)

-- 
1.9.1



More information about the Alsa-devel mailing list