aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/brcm2708/patches-4.19/950-0398-staging-bcm2835-audio-Simplify-PCM-creation-helpers.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/brcm2708/patches-4.19/950-0398-staging-bcm2835-audio-Simplify-PCM-creation-helpers.patch')
-rw-r--r--target/linux/brcm2708/patches-4.19/950-0398-staging-bcm2835-audio-Simplify-PCM-creation-helpers.patch196
1 files changed, 0 insertions, 196 deletions
diff --git a/target/linux/brcm2708/patches-4.19/950-0398-staging-bcm2835-audio-Simplify-PCM-creation-helpers.patch b/target/linux/brcm2708/patches-4.19/950-0398-staging-bcm2835-audio-Simplify-PCM-creation-helpers.patch
deleted file mode 100644
index 6ead1b4ccf..0000000000
--- a/target/linux/brcm2708/patches-4.19/950-0398-staging-bcm2835-audio-Simplify-PCM-creation-helpers.patch
+++ /dev/null
@@ -1,196 +0,0 @@
-From 706f9b2b95a2fff44f92deada99545036c249658 Mon Sep 17 00:00:00 2001
-From: Takashi Iwai <tiwai@suse.de>
-Date: Tue, 4 Sep 2018 17:58:56 +0200
-Subject: [PATCH] staging: bcm2835-audio: Simplify PCM creation helpers
-
-commit 74470ffeb9aed5548654cfca881bf1d7469fe9c4 upstream.
-
-All three functions to create PCM objects are fairly resemble, and can
-be unified to a single common helper.
-
-Signed-off-by: Takashi Iwai <tiwai@suse.de>
-Tested-by: Stefan Wahren <stefan.wahren@i2se.com>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- .../vc04_services/bcm2835-audio/bcm2835-pcm.c | 87 ++++---------------
- .../vc04_services/bcm2835-audio/bcm2835.c | 17 +++-
- .../vc04_services/bcm2835-audio/bcm2835.h | 9 +-
- 3 files changed, 32 insertions(+), 81 deletions(-)
-
---- a/drivers/staging/vc04_services/bcm2835-audio/bcm2835-pcm.c
-+++ b/drivers/staging/vc04_services/bcm2835-audio/bcm2835-pcm.c
-@@ -324,91 +324,36 @@ static const struct snd_pcm_ops snd_bcm2
- };
-
- /* create a pcm device */
--int snd_bcm2835_new_pcm(struct bcm2835_chip *chip, u32 numchannels)
-+int snd_bcm2835_new_pcm(struct bcm2835_chip *chip, const char *name,
-+ int idx, enum snd_bcm2835_route route,
-+ u32 numchannels, bool spdif)
- {
- struct snd_pcm *pcm;
- int err;
-
-- err = snd_pcm_new(chip->card, "bcm2835 ALSA", 0, numchannels, 0, &pcm);
-- if (err < 0)
-- return err;
-- pcm->private_data = chip;
-- pcm->nonatomic = true;
-- strcpy(pcm->name, "bcm2835 ALSA");
-- chip->pcm = pcm;
-- chip->dest = AUDIO_DEST_AUTO;
-- chip->volume = 0;
-- chip->mute = CTRL_VOL_UNMUTE; /*disable mute on startup */
-- /* set operators */
-- snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK,
-- &snd_bcm2835_playback_ops);
--
-- /* pre-allocation of buffers */
-- /* NOTE: this may fail */
-- snd_pcm_lib_preallocate_pages_for_all(pcm, SNDRV_DMA_TYPE_DEV,
-- chip->card->dev->parent,
-- snd_bcm2835_playback_hw.buffer_bytes_max,
-- snd_bcm2835_playback_hw.buffer_bytes_max);
--
-- return 0;
--}
--
--int snd_bcm2835_new_spdif_pcm(struct bcm2835_chip *chip)
--{
-- struct snd_pcm *pcm;
-- int err;
--
-- err = snd_pcm_new(chip->card, "bcm2835 ALSA", 1, 1, 0, &pcm);
-- if (err < 0)
-- return err;
--
-- pcm->private_data = chip;
-- pcm->nonatomic = true;
-- strcpy(pcm->name, "bcm2835 IEC958/HDMI");
-- chip->pcm_spdif = pcm;
-- snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK,
-- &snd_bcm2835_playback_spdif_ops);
--
-- /* pre-allocation of buffers */
-- /* NOTE: this may fail */
-- snd_pcm_lib_preallocate_pages_for_all(pcm, SNDRV_DMA_TYPE_DEV,
-- chip->card->dev->parent,
-- snd_bcm2835_playback_spdif_hw.buffer_bytes_max, snd_bcm2835_playback_spdif_hw.buffer_bytes_max);
--
-- return 0;
--}
--
--int snd_bcm2835_new_simple_pcm(struct bcm2835_chip *chip,
-- const char *name,
-- enum snd_bcm2835_route route,
-- u32 numchannels)
--{
-- struct snd_pcm *pcm;
-- int err;
--
-- err = snd_pcm_new(chip->card, name, 0, numchannels,
-- 0, &pcm);
-+ err = snd_pcm_new(chip->card, name, idx, numchannels, 0, &pcm);
- if (err)
- return err;
-
- pcm->private_data = chip;
- pcm->nonatomic = true;
- strcpy(pcm->name, name);
-- chip->pcm = pcm;
-- chip->dest = route;
-- chip->volume = 0;
-- chip->mute = CTRL_VOL_UNMUTE;
-+ if (!spdif) {
-+ chip->dest = route;
-+ chip->volume = 0;
-+ chip->mute = CTRL_VOL_UNMUTE;
-+ }
-
- snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK,
-+ spdif ? &snd_bcm2835_playback_spdif_ops :
- &snd_bcm2835_playback_ops);
-
-- snd_pcm_lib_preallocate_pages_for_all(
-- pcm,
-- SNDRV_DMA_TYPE_DEV,
-- chip->card->dev->parent,
-- snd_bcm2835_playback_hw.buffer_bytes_max,
-- snd_bcm2835_playback_hw.buffer_bytes_max);
-+ snd_pcm_lib_preallocate_pages_for_all(pcm, SNDRV_DMA_TYPE_DEV,
-+ chip->card->dev->parent, 128 * 1024, 128 * 1024);
-
-+ if (spdif)
-+ chip->pcm_spdif = pcm;
-+ else
-+ chip->pcm = pcm;
- return 0;
- }
--
---- a/drivers/staging/vc04_services/bcm2835-audio/bcm2835.c
-+++ b/drivers/staging/vc04_services/bcm2835-audio/bcm2835.c
-@@ -138,17 +138,26 @@ static int bcm2835_audio_alsa_newpcm(str
- {
- int err;
-
-- err = snd_bcm2835_new_pcm(chip, numchannels - 1);
-+ err = snd_bcm2835_new_pcm(chip, "bcm2835 ALSA", 0, AUDIO_DEST_AUTO,
-+ numchannels - 1, false);
- if (err)
- return err;
-
-- err = snd_bcm2835_new_spdif_pcm(chip);
-+ err = snd_bcm2835_new_pcm(chip, "bcm2835 IEC958/HDMI", 1, 0, 1, true);
- if (err)
- return err;
-
- return 0;
- }
-
-+static int bcm2835_audio_simple_newpcm(struct bcm2835_chip *chip,
-+ const char *name,
-+ enum snd_bcm2835_route route,
-+ u32 numchannels)
-+{
-+ return snd_bcm2835_new_pcm(chip, name, 0, route, numchannels, false);
-+}
-+
- static struct bcm2835_audio_driver bcm2835_audio_alsa = {
- .driver = {
- .name = "bcm2835_alsa",
-@@ -169,7 +178,7 @@ static struct bcm2835_audio_driver bcm28
- .shortname = "bcm2835 HDMI",
- .longname = "bcm2835 HDMI",
- .minchannels = 1,
-- .newpcm = snd_bcm2835_new_simple_pcm,
-+ .newpcm = bcm2835_audio_simple_newpcm,
- .newctl = snd_bcm2835_new_hdmi_ctl,
- .route = AUDIO_DEST_HDMI
- };
-@@ -182,7 +191,7 @@ static struct bcm2835_audio_driver bcm28
- .shortname = "bcm2835 Headphones",
- .longname = "bcm2835 Headphones",
- .minchannels = 1,
-- .newpcm = snd_bcm2835_new_simple_pcm,
-+ .newpcm = bcm2835_audio_simple_newpcm,
- .newctl = snd_bcm2835_new_headphones_ctl,
- .route = AUDIO_DEST_HEADPHONES
- };
---- a/drivers/staging/vc04_services/bcm2835-audio/bcm2835.h
-+++ b/drivers/staging/vc04_services/bcm2835-audio/bcm2835.h
-@@ -84,12 +84,9 @@ struct bcm2835_alsa_stream {
- };
-
- int snd_bcm2835_new_ctl(struct bcm2835_chip *chip);
--int snd_bcm2835_new_pcm(struct bcm2835_chip *chip, u32 numchannels);
--int snd_bcm2835_new_spdif_pcm(struct bcm2835_chip *chip);
--int snd_bcm2835_new_simple_pcm(struct bcm2835_chip *chip,
-- const char *name,
-- enum snd_bcm2835_route route,
-- u32 numchannels);
-+int snd_bcm2835_new_pcm(struct bcm2835_chip *chip, const char *name,
-+ int idx, enum snd_bcm2835_route route,
-+ u32 numchannels, bool spdif);
-
- int snd_bcm2835_new_hdmi_ctl(struct bcm2835_chip *chip);
- int snd_bcm2835_new_headphones_ctl(struct bcm2835_chip *chip);