Commit 0f928c19 authored by Sylwester Nawrocki's avatar Sylwester Nawrocki Committed by Mark Brown

ASoC: samsung: Specify DMA channel names through custom DMA config

This is a part of conversion of Samsung platforms to use the custom DMA
config for specifying DMA channel names, in addition to passing custom
DMA device for the secondary CPU DAI's "PCM" component for some variants
of the I2S controller.

We also don't set the SND_DMAENGINE_PCM_FLAG_CUSTOM_CHANNEL_NAME any more
as setting it wouldn't allow to specify DMA channels through the custom
DMA config.
Signed-off-by: default avatarSylwester Nawrocki <s.nawrocki@samsung.com>
Acked-by: default avatarKrzysztof Kozlowski <krzk@kernel.org>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent bc3cf17b
...@@ -28,7 +28,6 @@ int samsung_asoc_dma_platform_register(struct device *dev, dma_filter_fn filter, ...@@ -28,7 +28,6 @@ int samsung_asoc_dma_platform_register(struct device *dev, dma_filter_fn filter,
const char *tx, const char *rx, const char *tx, const char *rx,
struct device *dma_dev) struct device *dma_dev)
{ {
unsigned int flags = SND_DMAENGINE_PCM_FLAG_COMPAT;
struct snd_dmaengine_pcm_config *pcm_conf; struct snd_dmaengine_pcm_config *pcm_conf;
pcm_conf = devm_kzalloc(dev, sizeof(*pcm_conf), GFP_KERNEL); pcm_conf = devm_kzalloc(dev, sizeof(*pcm_conf), GFP_KERNEL);
...@@ -39,14 +38,11 @@ int samsung_asoc_dma_platform_register(struct device *dev, dma_filter_fn filter, ...@@ -39,14 +38,11 @@ int samsung_asoc_dma_platform_register(struct device *dev, dma_filter_fn filter,
pcm_conf->compat_filter_fn = filter; pcm_conf->compat_filter_fn = filter;
pcm_conf->dma_dev = dma_dev; pcm_conf->dma_dev = dma_dev;
if (dev->of_node) {
pcm_conf->chan_names[SNDRV_PCM_STREAM_PLAYBACK] = tx; pcm_conf->chan_names[SNDRV_PCM_STREAM_PLAYBACK] = tx;
pcm_conf->chan_names[SNDRV_PCM_STREAM_CAPTURE] = rx; pcm_conf->chan_names[SNDRV_PCM_STREAM_CAPTURE] = rx;
} else {
flags |= SND_DMAENGINE_PCM_FLAG_CUSTOM_CHANNEL_NAME;
}
return devm_snd_dmaengine_pcm_register(dev, pcm_conf, flags); return devm_snd_dmaengine_pcm_register(dev, pcm_conf,
SND_DMAENGINE_PCM_FLAG_COMPAT);
} }
EXPORT_SYMBOL_GPL(samsung_asoc_dma_platform_register); EXPORT_SYMBOL_GPL(samsung_asoc_dma_platform_register);
......
...@@ -1460,7 +1460,7 @@ static int samsung_i2s_probe(struct platform_device *pdev) ...@@ -1460,7 +1460,7 @@ static int samsung_i2s_probe(struct platform_device *pdev)
pri_dai->drv->playback.channels_max = 6; pri_dai->drv->playback.channels_max = 6;
ret = samsung_asoc_dma_platform_register(&pdev->dev, pri_dai->filter, ret = samsung_asoc_dma_platform_register(&pdev->dev, pri_dai->filter,
NULL, NULL, NULL); "tx", "rx", NULL);
if (ret < 0) if (ret < 0)
goto err_disable_clk; goto err_disable_clk;
......
...@@ -177,7 +177,7 @@ static int s3c2412_iis_dev_probe(struct platform_device *pdev) ...@@ -177,7 +177,7 @@ static int s3c2412_iis_dev_probe(struct platform_device *pdev)
ret = samsung_asoc_dma_platform_register(&pdev->dev, ret = samsung_asoc_dma_platform_register(&pdev->dev,
pdata->dma_filter, pdata->dma_filter,
NULL, NULL, NULL); "tx", "rx", NULL);
if (ret) { if (ret) {
pr_err("failed to register the DMA: %d\n", ret); pr_err("failed to register the DMA: %d\n", ret);
return ret; return ret;
......
...@@ -446,7 +446,7 @@ static int s3c24xx_iis_dev_probe(struct platform_device *pdev) ...@@ -446,7 +446,7 @@ static int s3c24xx_iis_dev_probe(struct platform_device *pdev)
s3c24xx_i2s_pcm_stereo_in.addr = res->start + S3C2410_IISFIFO; s3c24xx_i2s_pcm_stereo_in.addr = res->start + S3C2410_IISFIFO;
ret = samsung_asoc_dma_platform_register(&pdev->dev, NULL, ret = samsung_asoc_dma_platform_register(&pdev->dev, NULL,
NULL, NULL, NULL); "tx", "rx", NULL);
if (ret) { if (ret) {
dev_err(&pdev->dev, "Failed to register the DMA: %d\n", ret); dev_err(&pdev->dev, "Failed to register the DMA: %d\n", ret);
return ret; return ret;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment