linux-rockchip.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] ASoC: dmaengine: Introduce module option prealloc_buffer_size_kbytes
@ 2021-09-23 10:50 Sugar Zhang
  2021-09-27 17:45 ` Mark Brown
  0 siblings, 1 reply; 2+ messages in thread
From: Sugar Zhang @ 2021-09-23 10:50 UTC (permalink / raw)
  To: broonie, heiko
  Cc: linux-rockchip, Sugar Zhang, Jaroslav Kysela, Takashi Iwai,
	Jonathan Corbet, Lars-Peter Clausen, Liam Girdwood, alsa-devel,
	linux-doc, linux-kernel

Currently, The fixed 512KB prealloc buffer size is too larger for
tiny memory kernel (such as 16MB memory). This patch adds the module
option "prealloc_buffer_size_kbytes" to specify prealloc buffer size.

It's suitable for cards which use the generic dmaengine pcm driver
with no config.

Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
---

 Documentation/sound/alsa-configuration.rst | 9 +++++++++
 sound/soc/soc-generic-dmaengine-pcm.c      | 6 +++++-
 2 files changed, 14 insertions(+), 1 deletion(-)

diff --git a/Documentation/sound/alsa-configuration.rst b/Documentation/sound/alsa-configuration.rst
index 65f6169..34888d4 100644
--- a/Documentation/sound/alsa-configuration.rst
+++ b/Documentation/sound/alsa-configuration.rst
@@ -100,6 +100,15 @@ amidi_map
     MIDI device number maps assigned to the 2st OSS device;
     Default: 1
 
+Module snd-soc-core
+-------------------
+
+The soc core module. It is used by all ALSA card drivers.
+It takes the following options which have global effects.
+
+prealloc_buffer_size_kbytes
+    Specify prealloc buffer size in kbytes (default: 512).
+
 Common parameters for top sound card modules
 --------------------------------------------
 
diff --git a/sound/soc/soc-generic-dmaengine-pcm.c b/sound/soc/soc-generic-dmaengine-pcm.c
index 4aa48c7..c54c8ca 100644
--- a/sound/soc/soc-generic-dmaengine-pcm.c
+++ b/sound/soc/soc-generic-dmaengine-pcm.c
@@ -15,6 +15,10 @@
 
 #include <sound/dmaengine_pcm.h>
 
+static unsigned int prealloc_buffer_size_kbytes = 512;
+module_param(prealloc_buffer_size_kbytes, uint, 0444);
+MODULE_PARM_DESC(prealloc_buffer_size_kbytes, "Preallocate DMA buffer size (KB).");
+
 /*
  * The platforms dmaengine driver does not support reporting the amount of
  * bytes that are still left to transfer.
@@ -237,7 +241,7 @@ static int dmaengine_pcm_new(struct snd_soc_component *component,
 		prealloc_buffer_size = config->prealloc_buffer_size;
 		max_buffer_size = config->pcm_hardware->buffer_bytes_max;
 	} else {
-		prealloc_buffer_size = 512 * 1024;
+		prealloc_buffer_size = prealloc_buffer_size_kbytes * 1024;
 		max_buffer_size = SIZE_MAX;
 	}
 
-- 
2.7.4




_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip

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

* Re: [PATCH] ASoC: dmaengine: Introduce module option prealloc_buffer_size_kbytes
  2021-09-23 10:50 [PATCH] ASoC: dmaengine: Introduce module option prealloc_buffer_size_kbytes Sugar Zhang
@ 2021-09-27 17:45 ` Mark Brown
  0 siblings, 0 replies; 2+ messages in thread
From: Mark Brown @ 2021-09-27 17:45 UTC (permalink / raw)
  To: Sugar Zhang, heiko
  Cc: Mark Brown, Liam Girdwood, alsa-devel, linux-doc, linux-kernel,
	Lars-Peter Clausen, Takashi Iwai, Jonathan Corbet,
	linux-rockchip, Jaroslav Kysela

On Thu, 23 Sep 2021 18:50:46 +0800, Sugar Zhang wrote:
> Currently, The fixed 512KB prealloc buffer size is too larger for
> tiny memory kernel (such as 16MB memory). This patch adds the module
> option "prealloc_buffer_size_kbytes" to specify prealloc buffer size.
> 
> It's suitable for cards which use the generic dmaengine pcm driver
> with no config.
> 
> [...]

Applied to

   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next

Thanks!

[1/1] ASoC: dmaengine: Introduce module option prealloc_buffer_size_kbytes
      commit: b0e3b0a7078d71455747025e7deee766d4d43432

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

Thanks,
Mark

_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip

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

end of thread, other threads:[~2021-09-27 17:47 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-09-23 10:50 [PATCH] ASoC: dmaengine: Introduce module option prealloc_buffer_size_kbytes Sugar Zhang
2021-09-27 17:45 ` Mark Brown

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).