brcm2708: update to latest patches from RPi Foundation
[openwrt/staging/wigyori.git] / target / linux / brcm2708 / patches-4.19 / 950-0470-bcm2835-pcm.c-Support-multichannel-audio.patch
diff --git a/target/linux/brcm2708/patches-4.19/950-0470-bcm2835-pcm.c-Support-multichannel-audio.patch b/target/linux/brcm2708/patches-4.19/950-0470-bcm2835-pcm.c-Support-multichannel-audio.patch
new file mode 100644 (file)
index 0000000..47898db
--- /dev/null
@@ -0,0 +1,46 @@
+From 69d7e7d0f958186a0f7667ebeefdb50d1c5c3bd3 Mon Sep 17 00:00:00 2001
+From: popcornmix <popcornmix@gmail.com>
+Date: Tue, 30 Apr 2019 19:15:30 +0100
+Subject: [PATCH] bcm2835-pcm.c: Support multichannel audio
+
+---
+ .../vc04_services/bcm2835-audio/bcm2835-pcm.c   | 17 +++++++++--------
+ 1 file changed, 9 insertions(+), 8 deletions(-)
+
+--- a/drivers/staging/vc04_services/bcm2835-audio/bcm2835-pcm.c
++++ b/drivers/staging/vc04_services/bcm2835-audio/bcm2835-pcm.c
+@@ -14,9 +14,9 @@ static const struct snd_pcm_hardware snd
+                SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_MMAP_VALID |
+                SNDRV_PCM_INFO_DRAIN_TRIGGER | SNDRV_PCM_INFO_SYNC_APPLPTR),
+       .formats = SNDRV_PCM_FMTBIT_U8 | SNDRV_PCM_FMTBIT_S16_LE,
+-      .rates = SNDRV_PCM_RATE_CONTINUOUS | SNDRV_PCM_RATE_8000_48000,
++      .rates = SNDRV_PCM_RATE_CONTINUOUS |  SNDRV_PCM_RATE_8000_192000,
+       .rate_min = 8000,
+-      .rate_max = 48000,
++      .rate_max = 192000,
+       .channels_min = 1,
+       .channels_max = 2,
+       .buffer_bytes_max = 128 * 1024,
+@@ -31,15 +31,16 @@ static const struct snd_pcm_hardware snd
+                SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_MMAP_VALID |
+                SNDRV_PCM_INFO_DRAIN_TRIGGER | SNDRV_PCM_INFO_SYNC_APPLPTR),
+       .formats = SNDRV_PCM_FMTBIT_S16_LE,
+-      .rates = SNDRV_PCM_RATE_CONTINUOUS | SNDRV_PCM_RATE_44100 |
+-      SNDRV_PCM_RATE_48000,
++      .rates = SNDRV_PCM_RATE_44100 | SNDRV_PCM_RATE_48000 |
++      SNDRV_PCM_RATE_88200 | SNDRV_PCM_RATE_96000 |
++      SNDRV_PCM_RATE_176400 | SNDRV_PCM_RATE_192000,
+       .rate_min = 44100,
+-      .rate_max = 48000,
++      .rate_max = 192000,
+       .channels_min = 2,
+-      .channels_max = 2,
+-      .buffer_bytes_max = 128 * 1024,
++      .channels_max = 8,
++      .buffer_bytes_max = 512 * 1024,
+       .period_bytes_min = 1 * 1024,
+-      .period_bytes_max = 128 * 1024,
++      .period_bytes_max = 512 * 1024,
+       .periods_min = 1,
+       .periods_max = 128,
+ };