alsa-devel.alsa-project.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/3] Add SPIB Support for Intel Skylake platforms
@ 2018-01-30  9:36 Sriram Periyasamy
  2018-01-30  9:36 ` [PATCH 1/3] ALSA: core: let low-level driver or userspace disable rewinds Sriram Periyasamy
                   ` (3 more replies)
  0 siblings, 4 replies; 10+ messages in thread
From: Sriram Periyasamy @ 2018-01-30  9:36 UTC (permalink / raw)
  To: ALSA ML, Mark Brown
  Cc: Takashi Iwai, Sriram Periyasamy, Takashi Sakamoto, Liam Girdwood,
	Patches Audio, Vinod Koul

Skylake audio controller supports SPIB (Software Position in buffer)
capability, which can be used to inform position of application pointer
to host DMA controller. When SPIB mode is enabled, driver could write
the application pointer position in SPIB register. Host DMA will make
sure it won't read/write beyond bytes specified in SPIB register.

SPIB mode will be useful in low power use cases, where DSP could
pre-fetch large buffers to avoid frequent wakes caused due to interrupts.

To support SPIB in the driver, save the spib values in stream context
which can be restored during resume from S3. Add new hw_params flag to
explicitly tell driver that rewinds will never be used.

Pierre-Louis Bossart (1):
  ALSA: core: let low-level driver or userspace disable rewinds

Ramesh Babu (2):
  ALSA: hda: ext: add spib to stream context
  ASoC: Intel: Skylake: Add support for spib mode

 include/sound/hdaudio_ext.h       |  1 +
 include/sound/pcm.h               |  1 +
 include/uapi/sound/asound.h       |  1 +
 sound/core/pcm_native.c           |  8 ++++++++
 sound/hda/ext/hdac_ext_stream.c   |  2 ++
 sound/soc/intel/skylake/skl-pcm.c | 43 ++++++++++++++++++++++++++++++++++++++-
 6 files changed, 55 insertions(+), 1 deletion(-)

-- 
2.7.4

^ permalink raw reply	[flat|nested] 10+ messages in thread
* [PATCH 0/3] ALSA: Add rewind disable support
@ 2017-05-16  1:01 Subhransu S. Prusty
  2017-05-16  1:01 ` [PATCH 1/3] ALSA: core: let low-level driver or userspace disable rewinds Subhransu S. Prusty
  0 siblings, 1 reply; 10+ messages in thread
From: Subhransu S. Prusty @ 2017-05-16  1:01 UTC (permalink / raw)
  To: alsa-devel; +Cc: tiwai, patches.audio, broonie, Subhransu S. Prusty, lgirdwood

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

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2018-01-30 11:40 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-01-30  9:36 [PATCH 0/3] Add SPIB Support for Intel Skylake platforms Sriram Periyasamy
2018-01-30  9:36 ` [PATCH 1/3] ALSA: core: let low-level driver or userspace disable rewinds Sriram Periyasamy
2018-01-30  9:36 ` [PATCH 2/3] ALSA: hda: ext: add spib to stream context Sriram Periyasamy
2018-01-30  9:36 ` [PATCH 3/3] ASoC: Intel: Skylake: Add support for spib mode Sriram Periyasamy
2018-01-30 10:38 ` [PATCH 0/3] Add SPIB Support for Intel Skylake platforms Takashi Sakamoto
2018-01-30 11:07   ` Subhransu S. Prusty
2018-01-30 11:44     ` Vinod Koul
  -- strict thread matches above, loose matches on Subject: below --
2017-05-16  1:01 [PATCH 0/3] ALSA: Add rewind disable support Subhransu S. Prusty
2017-05-16  1:01 ` [PATCH 1/3] ALSA: core: let low-level driver or userspace disable rewinds Subhransu S. Prusty
2017-05-16  5:53   ` Takashi Iwai
2017-05-16  7:40     ` Subhransu S. Prusty

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).