Files
openwrt-master/target/linux/bcm27xx/patches-6.6/950-0876-ASoC-DACplus-fix-16bit-sample-support-in-clock-consu.patch
domenico c06fb25d1f
Some checks failed
Build Kernel / Build all affected Kernels (push) Has been cancelled
Build all core packages / Build all core packages for selected target (push) Has been cancelled
Build and Push prebuilt tools container / Build and Push all prebuilt containers (push) Has been cancelled
Build Toolchains / Build Toolchains for each target (push) Has been cancelled
Build host tools / Build host tools for linux and macos based systems (push) Has been cancelled
Coverity scan build / Coverity x86/64 build (push) Has been cancelled
Initial commit
2025-06-24 14:35:53 +02:00

34 lines
1.2 KiB
Diff

From cc28494088cdf5e03bd12ec3b5434dca4228fb88 Mon Sep 17 00:00:00 2001
From: Joerg Schambacher <joerg@hifiberry.com>
Date: Thu, 1 Feb 2024 17:32:44 +0100
Subject: [PATCH 0876/1085] ASoC: DACplus - fix 16bit sample support in clock
consumer mode
The former code did not adjust the physical sample width when
in clock consumer mode and has taken the fixed 32 bit default.
This has caused the audio to be played at half its frequency due to
the fixed bclk_ratio of 64.
Signed-off-by: Joerg Schambacher <joerg@hifiberry.com>
---
sound/soc/bcm/hifiberry_dacplus.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
--- a/sound/soc/bcm/hifiberry_dacplus.c
+++ b/sound/soc/bcm/hifiberry_dacplus.c
@@ -279,13 +279,11 @@ static int snd_rpi_hifiberry_dacplus_hw_
int ret = 0;
struct snd_soc_pcm_runtime *rtd = substream->private_data;
int channels = params_channels(params);
- int width = 32;
+ int width = snd_pcm_format_physical_width(params_format(params));
if (snd_rpi_hifiberry_is_dacpro) {
struct snd_soc_component *component = asoc_rtd_to_codec(rtd, 0)->component;
- width = snd_pcm_format_physical_width(params_format(params));
-
snd_rpi_hifiberry_dacplus_set_sclk(component,
params_rate(params));