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 _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel