Commit 27ecad21 authored by Kuninori Morimoto's avatar Kuninori Morimoto Committed by Mark Brown

ASoC: sprd: use snd_compress_ops

We can use snd_compress_ops.
Let's switch to use it.
Signed-off-by: default avatarKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Reviewed-by: default avatarRanjani Sridharan <ranjani.sridharan@linux.intel.com>
Link: https://lore.kernel.org/r/87mu76vdiv.wl-kuninori.morimoto.gx@renesas.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
parent 39118ce5
...@@ -96,7 +96,8 @@ struct sprd_compr_stream { ...@@ -96,7 +96,8 @@ struct sprd_compr_stream {
int stage1_pointer; int stage1_pointer;
}; };
static int sprd_platform_compr_trigger(struct snd_compr_stream *cstream, static int sprd_platform_compr_trigger(struct snd_soc_component *component,
struct snd_compr_stream *cstream,
int cmd); int cmd);
static void sprd_platform_compr_drain_notify(void *arg) static void sprd_platform_compr_drain_notify(void *arg)
...@@ -125,15 +126,14 @@ static void sprd_platform_compr_dma_complete(void *data) ...@@ -125,15 +126,14 @@ static void sprd_platform_compr_dma_complete(void *data)
snd_compr_fragment_elapsed(cstream); snd_compr_fragment_elapsed(cstream);
} }
static int sprd_platform_compr_dma_config(struct snd_compr_stream *cstream, static int sprd_platform_compr_dma_config(struct snd_soc_component *component,
struct snd_compr_stream *cstream,
struct snd_compr_params *params, struct snd_compr_params *params,
int channel) int channel)
{ {
struct snd_compr_runtime *runtime = cstream->runtime; struct snd_compr_runtime *runtime = cstream->runtime;
struct sprd_compr_stream *stream = runtime->private_data; struct sprd_compr_stream *stream = runtime->private_data;
struct snd_soc_pcm_runtime *rtd = cstream->private_data; struct snd_soc_pcm_runtime *rtd = cstream->private_data;
struct snd_soc_component *component =
snd_soc_rtdcom_lookup(rtd, DRV_NAME);
struct device *dev = component->dev; struct device *dev = component->dev;
struct sprd_compr_data *data = snd_soc_dai_get_drvdata(asoc_rtd_to_cpu(rtd, 0)); struct sprd_compr_data *data = snd_soc_dai_get_drvdata(asoc_rtd_to_cpu(rtd, 0));
struct sprd_pcm_dma_params *dma_params = data->dma_params; struct sprd_pcm_dma_params *dma_params = data->dma_params;
...@@ -261,14 +261,12 @@ static int sprd_platform_compr_dma_config(struct snd_compr_stream *cstream, ...@@ -261,14 +261,12 @@ static int sprd_platform_compr_dma_config(struct snd_compr_stream *cstream,
return ret; return ret;
} }
static int sprd_platform_compr_set_params(struct snd_compr_stream *cstream, static int sprd_platform_compr_set_params(struct snd_soc_component *component,
struct snd_compr_stream *cstream,
struct snd_compr_params *params) struct snd_compr_params *params)
{ {
struct snd_compr_runtime *runtime = cstream->runtime; struct snd_compr_runtime *runtime = cstream->runtime;
struct sprd_compr_stream *stream = runtime->private_data; struct sprd_compr_stream *stream = runtime->private_data;
struct snd_soc_pcm_runtime *rtd = cstream->private_data;
struct snd_soc_component *component =
snd_soc_rtdcom_lookup(rtd, DRV_NAME);
struct device *dev = component->dev; struct device *dev = component->dev;
struct sprd_compr_params compr_params = { }; struct sprd_compr_params compr_params = { };
int ret; int ret;
...@@ -279,13 +277,13 @@ static int sprd_platform_compr_set_params(struct snd_compr_stream *cstream, ...@@ -279,13 +277,13 @@ static int sprd_platform_compr_set_params(struct snd_compr_stream *cstream,
* means once the source channel's transaction is done, it will trigger * means once the source channel's transaction is done, it will trigger
* the destination channel's transaction automatically. * the destination channel's transaction automatically.
*/ */
ret = sprd_platform_compr_dma_config(cstream, params, 1); ret = sprd_platform_compr_dma_config(component, cstream, params, 1);
if (ret) { if (ret) {
dev_err(dev, "failed to config stage 1 DMA: %d\n", ret); dev_err(dev, "failed to config stage 1 DMA: %d\n", ret);
return ret; return ret;
} }
ret = sprd_platform_compr_dma_config(cstream, params, 0); ret = sprd_platform_compr_dma_config(component, cstream, params, 0);
if (ret) { if (ret) {
dev_err(dev, "failed to config stage 0 DMA: %d\n", ret); dev_err(dev, "failed to config stage 0 DMA: %d\n", ret);
goto config_err; goto config_err;
...@@ -314,12 +312,11 @@ static int sprd_platform_compr_set_params(struct snd_compr_stream *cstream, ...@@ -314,12 +312,11 @@ static int sprd_platform_compr_set_params(struct snd_compr_stream *cstream,
return ret; return ret;
} }
static int sprd_platform_compr_open(struct snd_compr_stream *cstream) static int sprd_platform_compr_open(struct snd_soc_component *component,
struct snd_compr_stream *cstream)
{ {
struct snd_compr_runtime *runtime = cstream->runtime; struct snd_compr_runtime *runtime = cstream->runtime;
struct snd_soc_pcm_runtime *rtd = cstream->private_data; struct snd_soc_pcm_runtime *rtd = cstream->private_data;
struct snd_soc_component *component =
snd_soc_rtdcom_lookup(rtd, DRV_NAME);
struct device *dev = component->dev; struct device *dev = component->dev;
struct sprd_compr_data *data = snd_soc_dai_get_drvdata(asoc_rtd_to_cpu(rtd, 0)); struct sprd_compr_data *data = snd_soc_dai_get_drvdata(asoc_rtd_to_cpu(rtd, 0));
struct sprd_compr_stream *stream; struct sprd_compr_stream *stream;
...@@ -392,13 +389,11 @@ static int sprd_platform_compr_open(struct snd_compr_stream *cstream) ...@@ -392,13 +389,11 @@ static int sprd_platform_compr_open(struct snd_compr_stream *cstream)
return ret; return ret;
} }
static int sprd_platform_compr_free(struct snd_compr_stream *cstream) static int sprd_platform_compr_free(struct snd_soc_component *component,
struct snd_compr_stream *cstream)
{ {
struct snd_compr_runtime *runtime = cstream->runtime; struct snd_compr_runtime *runtime = cstream->runtime;
struct sprd_compr_stream *stream = runtime->private_data; struct sprd_compr_stream *stream = runtime->private_data;
struct snd_soc_pcm_runtime *rtd = cstream->private_data;
struct snd_soc_component *component =
snd_soc_rtdcom_lookup(rtd, DRV_NAME);
struct device *dev = component->dev; struct device *dev = component->dev;
int stream_id = cstream->direction, i; int stream_id = cstream->direction, i;
...@@ -420,14 +415,12 @@ static int sprd_platform_compr_free(struct snd_compr_stream *cstream) ...@@ -420,14 +415,12 @@ static int sprd_platform_compr_free(struct snd_compr_stream *cstream)
return 0; return 0;
} }
static int sprd_platform_compr_trigger(struct snd_compr_stream *cstream, static int sprd_platform_compr_trigger(struct snd_soc_component *component,
struct snd_compr_stream *cstream,
int cmd) int cmd)
{ {
struct snd_compr_runtime *runtime = cstream->runtime; struct snd_compr_runtime *runtime = cstream->runtime;
struct sprd_compr_stream *stream = runtime->private_data; struct sprd_compr_stream *stream = runtime->private_data;
struct snd_soc_pcm_runtime *rtd = cstream->private_data;
struct snd_soc_component *component =
snd_soc_rtdcom_lookup(rtd, DRV_NAME);
struct device *dev = component->dev; struct device *dev = component->dev;
int channels = stream->num_channels, ret = 0, i; int channels = stream->num_channels, ret = 0, i;
int stream_id = cstream->direction; int stream_id = cstream->direction;
...@@ -518,7 +511,8 @@ static int sprd_platform_compr_trigger(struct snd_compr_stream *cstream, ...@@ -518,7 +511,8 @@ static int sprd_platform_compr_trigger(struct snd_compr_stream *cstream,
return ret; return ret;
} }
static int sprd_platform_compr_pointer(struct snd_compr_stream *cstream, static int sprd_platform_compr_pointer(struct snd_soc_component *component,
struct snd_compr_stream *cstream,
struct snd_compr_tstamp *tstamp) struct snd_compr_tstamp *tstamp)
{ {
struct snd_compr_runtime *runtime = cstream->runtime; struct snd_compr_runtime *runtime = cstream->runtime;
...@@ -532,7 +526,8 @@ static int sprd_platform_compr_pointer(struct snd_compr_stream *cstream, ...@@ -532,7 +526,8 @@ static int sprd_platform_compr_pointer(struct snd_compr_stream *cstream,
return 0; return 0;
} }
static int sprd_platform_compr_copy(struct snd_compr_stream *cstream, static int sprd_platform_compr_copy(struct snd_soc_component *component,
struct snd_compr_stream *cstream,
char __user *buf, size_t count) char __user *buf, size_t count)
{ {
struct snd_compr_runtime *runtime = cstream->runtime; struct snd_compr_runtime *runtime = cstream->runtime;
...@@ -609,7 +604,8 @@ static int sprd_platform_compr_copy(struct snd_compr_stream *cstream, ...@@ -609,7 +604,8 @@ static int sprd_platform_compr_copy(struct snd_compr_stream *cstream,
return count; return count;
} }
static int sprd_platform_compr_get_caps(struct snd_compr_stream *cstream, static int sprd_platform_compr_get_caps(struct snd_soc_component *component,
struct snd_compr_stream *cstream,
struct snd_compr_caps *caps) struct snd_compr_caps *caps)
{ {
caps->direction = cstream->direction; caps->direction = cstream->direction;
...@@ -625,7 +621,8 @@ static int sprd_platform_compr_get_caps(struct snd_compr_stream *cstream, ...@@ -625,7 +621,8 @@ static int sprd_platform_compr_get_caps(struct snd_compr_stream *cstream,
} }
static int static int
sprd_platform_compr_get_codec_caps(struct snd_compr_stream *cstream, sprd_platform_compr_get_codec_caps(struct snd_soc_component *component,
struct snd_compr_stream *cstream,
struct snd_compr_codec_caps *codec) struct snd_compr_codec_caps *codec)
{ {
switch (codec->codec) { switch (codec->codec) {
...@@ -658,7 +655,7 @@ sprd_platform_compr_get_codec_caps(struct snd_compr_stream *cstream, ...@@ -658,7 +655,7 @@ sprd_platform_compr_get_codec_caps(struct snd_compr_stream *cstream,
return 0; return 0;
} }
const struct snd_compr_ops sprd_platform_compr_ops = { const struct snd_compress_ops sprd_platform_compress_ops = {
.open = sprd_platform_compr_open, .open = sprd_platform_compr_open,
.free = sprd_platform_compr_free, .free = sprd_platform_compr_free,
.set_params = sprd_platform_compr_set_params, .set_params = sprd_platform_compr_set_params,
......
...@@ -515,7 +515,7 @@ static const struct snd_soc_component_driver sprd_soc_component = { ...@@ -515,7 +515,7 @@ static const struct snd_soc_component_driver sprd_soc_component = {
.mmap = sprd_pcm_mmap, .mmap = sprd_pcm_mmap,
.pcm_construct = sprd_pcm_new, .pcm_construct = sprd_pcm_new,
.pcm_destruct = sprd_pcm_free, .pcm_destruct = sprd_pcm_free,
.compr_ops = &sprd_platform_compr_ops, .compress_ops = &sprd_platform_compress_ops,
}; };
static int sprd_soc_platform_probe(struct platform_device *pdev) static int sprd_soc_platform_probe(struct platform_device *pdev)
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
#define DRV_NAME "sprd_pcm_dma" #define DRV_NAME "sprd_pcm_dma"
#define SPRD_PCM_CHANNEL_MAX 2 #define SPRD_PCM_CHANNEL_MAX 2
extern const struct snd_compr_ops sprd_platform_compr_ops; extern const struct snd_compress_ops sprd_platform_compress_ops;
struct sprd_pcm_dma_params { struct sprd_pcm_dma_params {
dma_addr_t dev_phys[SPRD_PCM_CHANNEL_MAX]; dma_addr_t dev_phys[SPRD_PCM_CHANNEL_MAX];
......
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