mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-23 15:32:33 +00:00
37 lines
1.2 KiB
Diff
37 lines
1.2 KiB
Diff
|
From 5f88ff5e23cd30d28c0f4604cd159d899fde4dc7 Mon Sep 17 00:00:00 2001
|
||
|
From: Matthias Reichl <hias@horus.com>
|
||
|
Date: Sun, 7 May 2017 16:24:57 +0200
|
||
|
Subject: [PATCH 118/454] ASoC: bcm2835: Enforce full symmetry
|
||
|
|
||
|
bcm2835's configuration registers can't be changed when a stream
|
||
|
is running, which means asymmetric configurations aren't supported.
|
||
|
|
||
|
Channel and rate symmetry are already enforced by constraints
|
||
|
but samplebits had been missed.
|
||
|
|
||
|
As hw_params doesn't check for symmetry constraints by itself
|
||
|
and just returns success if a stream is running this led to
|
||
|
situations where asymmetric configurations were seeming to
|
||
|
succeed but of course didn't work because the hardware wasn't
|
||
|
configured at all.
|
||
|
|
||
|
Fix this by adding the missing samplerate symmetry constraint.
|
||
|
|
||
|
Signed-off-by: Matthias Reichl <hias@horus.com>
|
||
|
---
|
||
|
sound/soc/bcm/bcm2835-i2s.c | 3 ++-
|
||
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
||
|
|
||
|
--- a/sound/soc/bcm/bcm2835-i2s.c
|
||
|
+++ b/sound/soc/bcm/bcm2835-i2s.c
|
||
|
@@ -783,7 +783,8 @@ static struct snd_soc_dai_driver bcm2835
|
||
|
| SNDRV_PCM_FMTBIT_S32_LE
|
||
|
},
|
||
|
.ops = &bcm2835_i2s_dai_ops,
|
||
|
- .symmetric_rates = 1
|
||
|
+ .symmetric_rates = 1,
|
||
|
+ .symmetric_samplebits = 1,
|
||
|
};
|
||
|
|
||
|
static bool bcm2835_i2s_volatile_reg(struct device *dev, unsigned int reg)
|