summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--recipes-multimedia/alsa-utils/alsa-utils/0001-bat-Fix-buffer-time-configuration.patch56
-rw-r--r--recipes-multimedia/alsa-utils/alsa-utils_%.bbappend4
2 files changed, 60 insertions, 0 deletions
diff --git a/recipes-multimedia/alsa-utils/alsa-utils/0001-bat-Fix-buffer-time-configuration.patch b/recipes-multimedia/alsa-utils/alsa-utils/0001-bat-Fix-buffer-time-configuration.patch
new file mode 100644
index 00000000..774b51ff
--- /dev/null
+++ b/recipes-multimedia/alsa-utils/alsa-utils/0001-bat-Fix-buffer-time-configuration.patch
@@ -0,0 +1,56 @@
+From bbd106d104ec3995964e89cb54a9a5a67fc7591d Mon Sep 17 00:00:00 2001
+From: Alexander Stein <alexander.stein@ew.tq-group.com>
+Date: Thu, 10 Apr 2025 13:01:19 +0200
+Subject: [PATCH] bat: Fix buffer time configuration
+
+By swapping time configuration some hardware constraints can be supported.
+Fixes the error: Set parameter to device error: buffer time: 500000
+hw:tqmtlv320aic32: Invalid argument(-22)
+
+Upstream-Status: Backport [bbd106d104ec3995964e89cb54a9a5a67fc7591d]
+Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+---
+ bat/alsa.c | 18 +++++++++---------
+ 1 file changed, 9 insertions(+), 9 deletions(-)
+
+diff --git a/bat/alsa.c b/bat/alsa.c
+index 67489c4214fb..457e79a2b293 100644
+--- a/bat/alsa.c
++++ b/bat/alsa.c
+@@ -221,23 +221,23 @@ static int set_snd_pcm_params(struct bat *bat, struct pcm_container *sndpcm)
+
+ period_time = buffer_time / DIV_BUFFERTIME;
+
+- /* Set buffer time and period time */
+- err = snd_pcm_hw_params_set_buffer_time_near(sndpcm->handle,
+- params, &buffer_time, 0);
++ /* Set period time and buffer time */
++ err = snd_pcm_hw_params_set_period_time_near(sndpcm->handle,
++ params, &period_time, 0);
+ if (err < 0) {
+ fprintf(bat->err, _("Set parameter to device error: "));
+- fprintf(bat->err, _("buffer time: %d %s: %s(%d)\n"),
+- buffer_time,
++ fprintf(bat->err, _("period time: %d %s: %s(%d)\n"),
++ period_time,
+ device_name, snd_strerror(err), err);
+ return err;
+ }
+
+- err = snd_pcm_hw_params_set_period_time_near(sndpcm->handle,
+- params, &period_time, 0);
++ err = snd_pcm_hw_params_set_buffer_time_near(sndpcm->handle,
++ params, &buffer_time, 0);
+ if (err < 0) {
+ fprintf(bat->err, _("Set parameter to device error: "));
+- fprintf(bat->err, _("period time: %d %s: %s(%d)\n"),
+- period_time,
++ fprintf(bat->err, _("buffer time: %d %s: %s(%d)\n"),
++ buffer_time,
+ device_name, snd_strerror(err), err);
+ return err;
+ }
+--
+2.42.0
+
diff --git a/recipes-multimedia/alsa-utils/alsa-utils_%.bbappend b/recipes-multimedia/alsa-utils/alsa-utils_%.bbappend
index e9808075..3e3a012c 100644
--- a/recipes-multimedia/alsa-utils/alsa-utils_%.bbappend
+++ b/recipes-multimedia/alsa-utils/alsa-utils_%.bbappend
@@ -1 +1,5 @@
+FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
+
+SRC_URI:append = " file://0001-bat-Fix-buffer-time-configuration.patch"
+
PACKAGECONFIG:append = " bat"