treewide: remove files for building 5.10 kernel
[openwrt/staging/stintel.git] / target / linux / at91 / patches-5.10 / 144-ASoC-atmel-pdc-Use-managed-DMA-buffer-allocation.patch
diff --git a/target/linux/at91/patches-5.10/144-ASoC-atmel-pdc-Use-managed-DMA-buffer-allocation.patch b/target/linux/at91/patches-5.10/144-ASoC-atmel-pdc-Use-managed-DMA-buffer-allocation.patch
deleted file mode 100644 (file)
index 072e13b..0000000
+++ /dev/null
@@ -1,135 +0,0 @@
-From 0b20c174a17dcfa805ddac1301a5af7298877ec3 Mon Sep 17 00:00:00 2001
-From: Lars-Peter Clausen <lars@metafoo.de>
-Date: Wed, 6 Jan 2021 14:36:48 +0100
-Subject: [PATCH 144/247] ASoC: atmel-pdc: Use managed DMA buffer allocation
-
-Instead of manually managing its DMA buffers using
-dma_{alloc,free}_coherent() lets the sound core take care of this using
-managed buffers.
-
-On one hand this reduces the amount of boiler plate code, but the main
-motivation for the change is to use the shared code where possible. This
-makes it easier to argue about correctness and that the code does not
-contain subtle bugs like data leakage or similar.
-
-Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
-Reviewed-by: Codrin Ciubotariu <codrin.ciubotariu@microchip.com>
-Link: https://lore.kernel.org/r/20210106133650.13509-1-lars@metafoo.de
-Signed-off-by: Mark Brown <broonie@kernel.org>
----
- sound/soc/atmel/atmel-pcm-pdc.c | 78 ++-------------------------------
- 1 file changed, 4 insertions(+), 74 deletions(-)
-
---- a/sound/soc/atmel/atmel-pcm-pdc.c
-+++ b/sound/soc/atmel/atmel-pcm-pdc.c
-@@ -34,86 +34,21 @@
- #include "atmel-pcm.h"
--static int atmel_pcm_preallocate_dma_buffer(struct snd_pcm *pcm,
--      int stream)
--{
--      struct snd_pcm_substream *substream = pcm->streams[stream].substream;
--      struct snd_dma_buffer *buf = &substream->dma_buffer;
--      size_t size = ATMEL_SSC_DMABUF_SIZE;
--
--      buf->dev.type = SNDRV_DMA_TYPE_DEV;
--      buf->dev.dev = pcm->card->dev;
--      buf->private_data = NULL;
--      buf->area = dma_alloc_coherent(pcm->card->dev, size,
--                      &buf->addr, GFP_KERNEL);
--      pr_debug("atmel-pcm: alloc dma buffer: area=%p, addr=%p, size=%zu\n",
--                      (void *)buf->area, (void *)(long)buf->addr, size);
--
--      if (!buf->area)
--              return -ENOMEM;
--
--      buf->bytes = size;
--      return 0;
--}
--
--static int atmel_pcm_mmap(struct snd_soc_component *component,
--                        struct snd_pcm_substream *substream,
--                        struct vm_area_struct *vma)
--{
--      return remap_pfn_range(vma, vma->vm_start,
--                     substream->dma_buffer.addr >> PAGE_SHIFT,
--                     vma->vm_end - vma->vm_start, vma->vm_page_prot);
--}
--
- static int atmel_pcm_new(struct snd_soc_component *component,
-                        struct snd_soc_pcm_runtime *rtd)
- {
-       struct snd_card *card = rtd->card->snd_card;
--      struct snd_pcm *pcm = rtd->pcm;
-       int ret;
-       ret = dma_coerce_mask_and_coherent(card->dev, DMA_BIT_MASK(32));
-       if (ret)
-               return ret;
--      if (pcm->streams[SNDRV_PCM_STREAM_PLAYBACK].substream) {
--              pr_debug("atmel-pcm: allocating PCM playback DMA buffer\n");
--              ret = atmel_pcm_preallocate_dma_buffer(pcm,
--                      SNDRV_PCM_STREAM_PLAYBACK);
--              if (ret)
--                      goto out;
--      }
-+      snd_pcm_set_managed_buffer_all(rtd->pcm, SNDRV_DMA_TYPE_DEV,
-+                                     card->dev, ATMEL_SSC_DMABUF_SIZE,
-+                                     ATMEL_SSC_DMABUF_SIZE);
--      if (pcm->streams[SNDRV_PCM_STREAM_CAPTURE].substream) {
--              pr_debug("atmel-pcm: allocating PCM capture DMA buffer\n");
--              ret = atmel_pcm_preallocate_dma_buffer(pcm,
--                      SNDRV_PCM_STREAM_CAPTURE);
--              if (ret)
--                      goto out;
--      }
-- out:
--      return ret;
--}
--
--static void atmel_pcm_free(struct snd_soc_component *component,
--                         struct snd_pcm *pcm)
--{
--      struct snd_pcm_substream *substream;
--      struct snd_dma_buffer *buf;
--      int stream;
--
--      for (stream = 0; stream < 2; stream++) {
--              substream = pcm->streams[stream].substream;
--              if (!substream)
--                      continue;
--
--              buf = &substream->dma_buffer;
--              if (!buf->area)
--                      continue;
--              dma_free_coherent(pcm->card->dev, buf->bytes,
--                                buf->area, buf->addr);
--              buf->area = NULL;
--      }
-+      return 0;
- }
- /*--------------------------------------------------------------------------*\
-@@ -210,9 +145,6 @@ static int atmel_pcm_hw_params(struct sn
-       /* this may get called several times by oss emulation
-        * with different params */
--      snd_pcm_set_runtime_buffer(substream, &substream->dma_buffer);
--      runtime->dma_bytes = params_buffer_bytes(params);
--
-       prtd->params = snd_soc_dai_get_dma_data(asoc_rtd_to_cpu(rtd, 0), substream);
-       prtd->params->dma_intr_handler = atmel_pcm_dma_irq;
-@@ -384,9 +316,7 @@ static const struct snd_soc_component_dr
-       .prepare        = atmel_pcm_prepare,
-       .trigger        = atmel_pcm_trigger,
-       .pointer        = atmel_pcm_pointer,
--      .mmap           = atmel_pcm_mmap,
-       .pcm_construct  = atmel_pcm_new,
--      .pcm_destruct   = atmel_pcm_free,
- };
- int atmel_pcm_pdc_platform_register(struct device *dev)