ASoC: ep93xx: Drop legacy DMA support

And rely on OF DMA.

Signed-off-by: Alexander Sverdlin <alexander.sverdlin@gmail.com>
Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
Tested-by: Alexander Sverdlin <alexander.sverdlin@gmail.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Reviewed-by: Mark Brown <broonie@kernel.org>
Reviewed-by: Andy Shevchenko <andy@kernel.org>
Acked-by: Miquel Raynal <miquel.raynal@bootlin.com>
Acked-by: Vinod Koul <vkoul@kernel.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
Alexander Sverdlin 2024-09-09 11:10:53 +03:00 committed by Arnd Bergmann
parent fb37c3a9c2
commit fae4d65a04
2 changed files with 1 additions and 37 deletions

View File

@ -24,7 +24,6 @@
#include <sound/initval.h> #include <sound/initval.h>
#include <sound/soc.h> #include <sound/soc.h>
#include <linux/platform_data/dma-ep93xx.h>
#include <linux/soc/cirrus/ep93xx.h> #include <linux/soc/cirrus/ep93xx.h>
#include "ep93xx-pcm.h" #include "ep93xx-pcm.h"
@ -80,19 +79,6 @@ struct ep93xx_i2s_info {
struct snd_dmaengine_dai_dma_data dma_params_tx; struct snd_dmaengine_dai_dma_data dma_params_tx;
}; };
static struct ep93xx_dma_data ep93xx_i2s_dma_data[] = {
[SNDRV_PCM_STREAM_PLAYBACK] = {
.name = "i2s-pcm-out",
.port = EP93XX_DMA_I2S1,
.direction = DMA_MEM_TO_DEV,
},
[SNDRV_PCM_STREAM_CAPTURE] = {
.name = "i2s-pcm-in",
.port = EP93XX_DMA_I2S1,
.direction = DMA_DEV_TO_MEM,
},
};
static inline void ep93xx_i2s_write_reg(struct ep93xx_i2s_info *info, static inline void ep93xx_i2s_write_reg(struct ep93xx_i2s_info *info,
unsigned reg, unsigned val) unsigned reg, unsigned val)
{ {
@ -198,11 +184,6 @@ static int ep93xx_i2s_dai_probe(struct snd_soc_dai *dai)
{ {
struct ep93xx_i2s_info *info = snd_soc_dai_get_drvdata(dai); struct ep93xx_i2s_info *info = snd_soc_dai_get_drvdata(dai);
info->dma_params_tx.filter_data =
&ep93xx_i2s_dma_data[SNDRV_PCM_STREAM_PLAYBACK];
info->dma_params_rx.filter_data =
&ep93xx_i2s_dma_data[SNDRV_PCM_STREAM_CAPTURE];
snd_soc_dai_init_dma_data(dai, &info->dma_params_tx, snd_soc_dai_init_dma_data(dai, &info->dma_params_tx,
&info->dma_params_rx); &info->dma_params_rx);

View File

@ -18,8 +18,6 @@
#include <sound/soc.h> #include <sound/soc.h>
#include <sound/dmaengine_pcm.h> #include <sound/dmaengine_pcm.h>
#include <linux/platform_data/dma-ep93xx.h>
#include "ep93xx-pcm.h" #include "ep93xx-pcm.h"
static const struct snd_pcm_hardware ep93xx_pcm_hardware = { static const struct snd_pcm_hardware ep93xx_pcm_hardware = {
@ -35,30 +33,15 @@ static const struct snd_pcm_hardware ep93xx_pcm_hardware = {
.fifo_size = 32, .fifo_size = 32,
}; };
static bool ep93xx_pcm_dma_filter(struct dma_chan *chan, void *filter_param)
{
struct ep93xx_dma_data *data = filter_param;
if (data->direction == ep93xx_dma_chan_direction(chan)) {
chan->private = data;
return true;
}
return false;
}
static const struct snd_dmaengine_pcm_config ep93xx_dmaengine_pcm_config = { static const struct snd_dmaengine_pcm_config ep93xx_dmaengine_pcm_config = {
.pcm_hardware = &ep93xx_pcm_hardware, .pcm_hardware = &ep93xx_pcm_hardware,
.compat_filter_fn = ep93xx_pcm_dma_filter,
.prealloc_buffer_size = 131072, .prealloc_buffer_size = 131072,
}; };
int devm_ep93xx_pcm_platform_register(struct device *dev) int devm_ep93xx_pcm_platform_register(struct device *dev)
{ {
return devm_snd_dmaengine_pcm_register(dev, return devm_snd_dmaengine_pcm_register(dev,
&ep93xx_dmaengine_pcm_config, &ep93xx_dmaengine_pcm_config, 0);
SND_DMAENGINE_PCM_FLAG_NO_DT |
SND_DMAENGINE_PCM_FLAG_COMPAT);
} }
EXPORT_SYMBOL_GPL(devm_ep93xx_pcm_platform_register); EXPORT_SYMBOL_GPL(devm_ep93xx_pcm_platform_register);