kernel: bump kernel 4.4 to 4.4.129 for 17.01
[openwrt/openwrt.git] / target / linux / brcm2708 / patches-4.4 / 0548-Audioinjector-Fix-bit-offsets-for-equal-volume-and-a.patch
1 From 80531f433182a0db5da749045a6e3f48bf4277db Mon Sep 17 00:00:00 2001
2 From: Matt Flax <flatmax@flatmax.org>
3 Date: Sun, 20 Nov 2016 19:15:24 +1100
4 Subject: [PATCH] [Audioinjector] Fix bit offsets for equal volume and add 8
5 kHz operation (#1727)
6
7 Applying to the audioinjector sound card only. This patch offsets channel
8 2 correctly from the LR clock. This ensures that channel 2 doesn't loose
9 any bits during capture. It also results in both channels 1 and 2 having
10 the same volume. This commit also adds 8 kHz operation.
11
12 Signed-off-by: Matt Flax <flatmax@flatmax.org>
13 ---
14 sound/soc/bcm/audioinjector-pi-soundcard.c | 16 +++++++++-------
15 1 file changed, 9 insertions(+), 7 deletions(-)
16
17 --- a/sound/soc/bcm/audioinjector-pi-soundcard.c
18 +++ b/sound/soc/bcm/audioinjector-pi-soundcard.c
19 @@ -30,7 +30,7 @@
20 #include "../codecs/wm8731.h"
21
22 static const unsigned int bcm2835_rates_12000000[] = {
23 - 32000, 44100, 48000, 96000, 88200,
24 + 8000, 16000, 32000, 44100, 48000, 96000, 88200,
25 };
26
27 static struct snd_pcm_hw_constraint_list bcm2835_constraints_12000000 = {
28 @@ -55,19 +55,21 @@ static int snd_audioinjector_pi_soundcar
29
30 switch (params_rate(params)){
31 case 8000:
32 - return snd_soc_dai_set_bclk_ratio(cpu_dai, 1508);
33 + return snd_soc_dai_set_bclk_ratio(cpu_dai, 1);
34 + case 16000:
35 + return snd_soc_dai_set_bclk_ratio(cpu_dai, 750);
36 case 32000:
37 - return snd_soc_dai_set_bclk_ratio(cpu_dai, 378);
38 + return snd_soc_dai_set_bclk_ratio(cpu_dai, 375);
39 case 44100:
40 - return snd_soc_dai_set_bclk_ratio(cpu_dai, 274);
41 + return snd_soc_dai_set_bclk_ratio(cpu_dai, 272);
42 case 48000:
43 - return snd_soc_dai_set_bclk_ratio(cpu_dai, 252);
44 + return snd_soc_dai_set_bclk_ratio(cpu_dai, 250);
45 case 88200:
46 return snd_soc_dai_set_bclk_ratio(cpu_dai, 136);
47 case 96000:
48 - return snd_soc_dai_set_bclk_ratio(cpu_dai, 126);
49 + return snd_soc_dai_set_bclk_ratio(cpu_dai, 125);
50 default:
51 - return snd_soc_dai_set_bclk_ratio(cpu_dai, 126);
52 + return snd_soc_dai_set_bclk_ratio(cpu_dai, 125);
53 }
54 }
55