You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
36 lines
1.2 KiB
36 lines
1.2 KiB
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)
|
|
|