brcm2708: update to latest patches from RPi foundation
[openwrt/openwrt.git] / target / linux / brcm2708 / patches-4.19 / 950-0386-staging-bcm2835-audio-Drop-debug-messages-in-bcm2835.patch
diff --git a/target/linux/brcm2708/patches-4.19/950-0386-staging-bcm2835-audio-Drop-debug-messages-in-bcm2835.patch b/target/linux/brcm2708/patches-4.19/950-0386-staging-bcm2835-audio-Drop-debug-messages-in-bcm2835.patch
new file mode 100644 (file)
index 0000000..96a4d73
--- /dev/null
@@ -0,0 +1,150 @@
+From e109804fa00a139a05626c1b8ceebcfe3577fc6d Mon Sep 17 00:00:00 2001
+From: Takashi Iwai <tiwai@suse.de>
+Date: Tue, 4 Sep 2018 17:58:44 +0200
+Subject: [PATCH] staging: bcm2835-audio: Drop debug messages in
+ bcm2835-pcm.c
+
+commit 055e1c330d04df87d4730a5db837161c11ddaafc upstream.
+
+These debug messages worsen the code readability a lot while they give
+little debuggability (which we already have via tracing, in anyway).
+
+Let's clean them up.  This allows us to reduce the
+snd_bcm2835_pcm_lib_ioctl() function to be a direct call of the
+snd_pcm_lib_ioctl callback (like most other drivers do), too.
+
+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 | 51 +++----------------
+ 1 file changed, 7 insertions(+), 44 deletions(-)
+
+--- a/drivers/staging/vc04_services/bcm2835-audio/bcm2835-pcm.c
++++ b/drivers/staging/vc04_services/bcm2835-audio/bcm2835-pcm.c
+@@ -44,9 +44,7 @@ static const struct snd_pcm_hardware snd
+ static void snd_bcm2835_playback_free(struct snd_pcm_runtime *runtime)
+ {
+-      audio_info("Freeing up alsa stream here ..\n");
+       kfree(runtime->private_data);
+-      runtime->private_data = NULL;
+ }
+ void bcm2835_playback_fifo(struct bcm2835_alsa_stream *alsa_stream)
+@@ -99,7 +97,6 @@ static int snd_bcm2835_playback_open_gen
+       int err;
+       mutex_lock(&chip->audio_mutex);
+-      audio_info("Alsa open (%d)\n", substream->number);
+       idx = substream->number;
+       if (spdif && chip->opened) {
+@@ -182,8 +179,6 @@ static int snd_bcm2835_playback_close(st
+       runtime = substream->runtime;
+       alsa_stream = runtime->private_data;
+-      audio_info("Alsa close\n");
+-
+       alsa_stream->period_size = 0;
+       alsa_stream->buffer_size = 0;
+@@ -251,10 +246,6 @@ static int snd_bcm2835_pcm_prepare(struc
+       alsa_stream->pos = 0;
+       alsa_stream->draining = false;
+-      audio_debug("buffer_size=%d, period_size=%d pos=%d frame_bits=%d\n",
+-              alsa_stream->buffer_size, alsa_stream->period_size,
+-              alsa_stream->pos, runtime->frame_bits);
+-
+  out:
+       mutex_unlock(&chip->audio_mutex);
+       return err;
+@@ -266,12 +257,8 @@ static void snd_bcm2835_pcm_transfer(str
+       struct snd_pcm_runtime *runtime = substream->runtime;
+       struct bcm2835_alsa_stream *alsa_stream = runtime->private_data;
+       void *src = (void *) (substream->runtime->dma_area + rec->sw_data);
+-      int err;
+-
+-      err = bcm2835_audio_write(alsa_stream, bytes, src);
+-      if (err)
+-              audio_error(" Failed to transfer to alsa device (%d)\n", err);
++      bcm2835_audio_write(alsa_stream, bytes, src);
+ }
+ static int snd_bcm2835_pcm_ack(struct snd_pcm_substream *substream)
+@@ -289,27 +276,18 @@ static int snd_bcm2835_pcm_trigger(struc
+ {
+       struct snd_pcm_runtime *runtime = substream->runtime;
+       struct bcm2835_alsa_stream *alsa_stream = runtime->private_data;
+-      int err = 0;
+       switch (cmd) {
+       case SNDRV_PCM_TRIGGER_START:
+-              err = bcm2835_audio_start(alsa_stream);
+-              if (err)
+-                      audio_error(" Failed to START alsa device (%d)\n", err);
+-              break;
++              return bcm2835_audio_start(alsa_stream);
+       case SNDRV_PCM_TRIGGER_DRAIN:
+               alsa_stream->draining = true;
+-              break;
++              return 0;
+       case SNDRV_PCM_TRIGGER_STOP:
+-              err = bcm2835_audio_stop(alsa_stream);
+-              if (err)
+-                      audio_error(" Failed to STOP alsa device (%d)\n", err);
+-              break;
++              return bcm2835_audio_stop(alsa_stream);
+       default:
+-              err = -EINVAL;
++              return -EINVAL;
+       }
+-
+-      return err;
+ }
+ /* pointer callback */
+@@ -319,31 +297,16 @@ snd_bcm2835_pcm_pointer(struct snd_pcm_s
+       struct snd_pcm_runtime *runtime = substream->runtime;
+       struct bcm2835_alsa_stream *alsa_stream = runtime->private_data;
+-      audio_debug("pcm_pointer... (%d) hwptr=%d appl=%d pos=%d\n", 0,
+-              frames_to_bytes(runtime, runtime->status->hw_ptr),
+-              frames_to_bytes(runtime, runtime->control->appl_ptr),
+-              alsa_stream->pos);
+-
+       return snd_pcm_indirect_playback_pointer(substream,
+               &alsa_stream->pcm_indirect,
+               alsa_stream->pos);
+ }
+-static int snd_bcm2835_pcm_lib_ioctl(struct snd_pcm_substream *substream,
+-      unsigned int cmd, void *arg)
+-{
+-      int ret = snd_pcm_lib_ioctl(substream, cmd, arg);
+-
+-      audio_info(" .. substream=%p, cmd=%d, arg=%p (%x) ret=%d\n", substream,
+-              cmd, arg, arg ? *(unsigned int *)arg : 0, ret);
+-      return ret;
+-}
+-
+ /* operators */
+ static const struct snd_pcm_ops snd_bcm2835_playback_ops = {
+       .open = snd_bcm2835_playback_open,
+       .close = snd_bcm2835_playback_close,
+-      .ioctl = snd_bcm2835_pcm_lib_ioctl,
++      .ioctl = snd_pcm_lib_ioctl,
+       .hw_params = snd_bcm2835_pcm_hw_params,
+       .hw_free = snd_bcm2835_pcm_hw_free,
+       .prepare = snd_bcm2835_pcm_prepare,
+@@ -355,7 +318,7 @@ static const struct snd_pcm_ops snd_bcm2
+ static const struct snd_pcm_ops snd_bcm2835_playback_spdif_ops = {
+       .open = snd_bcm2835_playback_spdif_open,
+       .close = snd_bcm2835_playback_close,
+-      .ioctl = snd_bcm2835_pcm_lib_ioctl,
++      .ioctl = snd_pcm_lib_ioctl,
+       .hw_params = snd_bcm2835_pcm_hw_params,
+       .hw_free = snd_bcm2835_pcm_hw_free,
+       .prepare = snd_bcm2835_pcm_prepare,