forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-01-31 f70575805708cabdedea7498aaa3f710fde4d920
kernel/sound/soc/uniphier/aio-compress.c
....@@ -16,14 +16,16 @@
1616
1717 #include "aio.h"
1818
19
-static int uniphier_aio_compr_prepare(struct snd_compr_stream *cstream);
20
-static int uniphier_aio_compr_hw_free(struct snd_compr_stream *cstream);
19
+static int uniphier_aio_compr_prepare(struct snd_soc_component *component,
20
+ struct snd_compr_stream *cstream);
21
+static int uniphier_aio_compr_hw_free(struct snd_soc_component *component,
22
+ struct snd_compr_stream *cstream);
2123
2224 static int uniphier_aio_comprdma_new(struct snd_soc_pcm_runtime *rtd)
2325 {
2426 struct snd_compr *compr = rtd->compr;
2527 struct device *dev = compr->card->dev;
26
- struct uniphier_aio *aio = uniphier_priv(rtd->cpu_dai);
28
+ struct uniphier_aio *aio = uniphier_priv(asoc_rtd_to_cpu(rtd, 0));
2729 struct uniphier_aio_sub *sub = &aio->sub[compr->direction];
2830 size_t size = AUD_RING_SIZE;
2931 int dma_dir = DMA_FROM_DEVICE, ret;
....@@ -56,7 +58,7 @@
5658 {
5759 struct snd_compr *compr = rtd->compr;
5860 struct device *dev = compr->card->dev;
59
- struct uniphier_aio *aio = uniphier_priv(rtd->cpu_dai);
61
+ struct uniphier_aio *aio = uniphier_priv(asoc_rtd_to_cpu(rtd, 0));
6062 struct uniphier_aio_sub *sub = &aio->sub[compr->direction];
6163 int dma_dir = DMA_FROM_DEVICE;
6264
....@@ -70,10 +72,11 @@
7072 return 0;
7173 }
7274
73
-static int uniphier_aio_compr_open(struct snd_compr_stream *cstream)
75
+static int uniphier_aio_compr_open(struct snd_soc_component *component,
76
+ struct snd_compr_stream *cstream)
7477 {
7578 struct snd_soc_pcm_runtime *rtd = cstream->private_data;
76
- struct uniphier_aio *aio = uniphier_priv(rtd->cpu_dai);
79
+ struct uniphier_aio *aio = uniphier_priv(asoc_rtd_to_cpu(rtd, 0));
7780 struct uniphier_aio_sub *sub = &aio->sub[cstream->direction];
7881 int ret;
7982
....@@ -95,14 +98,15 @@
9598 return 0;
9699 }
97100
98
-static int uniphier_aio_compr_free(struct snd_compr_stream *cstream)
101
+static int uniphier_aio_compr_free(struct snd_soc_component *component,
102
+ struct snd_compr_stream *cstream)
99103 {
100104 struct snd_soc_pcm_runtime *rtd = cstream->private_data;
101
- struct uniphier_aio *aio = uniphier_priv(rtd->cpu_dai);
105
+ struct uniphier_aio *aio = uniphier_priv(asoc_rtd_to_cpu(rtd, 0));
102106 struct uniphier_aio_sub *sub = &aio->sub[cstream->direction];
103107 int ret;
104108
105
- ret = uniphier_aio_compr_hw_free(cstream);
109
+ ret = uniphier_aio_compr_hw_free(component, cstream);
106110 if (ret)
107111 return ret;
108112 ret = uniphier_aio_comprdma_free(rtd);
....@@ -114,11 +118,12 @@
114118 return 0;
115119 }
116120
117
-static int uniphier_aio_compr_get_params(struct snd_compr_stream *cstream,
121
+static int uniphier_aio_compr_get_params(struct snd_soc_component *component,
122
+ struct snd_compr_stream *cstream,
118123 struct snd_codec *params)
119124 {
120125 struct snd_soc_pcm_runtime *rtd = cstream->private_data;
121
- struct uniphier_aio *aio = uniphier_priv(rtd->cpu_dai);
126
+ struct uniphier_aio *aio = uniphier_priv(asoc_rtd_to_cpu(rtd, 0));
122127 struct uniphier_aio_sub *sub = &aio->sub[cstream->direction];
123128
124129 *params = sub->cparams.codec;
....@@ -126,11 +131,12 @@
126131 return 0;
127132 }
128133
129
-static int uniphier_aio_compr_set_params(struct snd_compr_stream *cstream,
134
+static int uniphier_aio_compr_set_params(struct snd_soc_component *component,
135
+ struct snd_compr_stream *cstream,
130136 struct snd_compr_params *params)
131137 {
132138 struct snd_soc_pcm_runtime *rtd = cstream->private_data;
133
- struct uniphier_aio *aio = uniphier_priv(rtd->cpu_dai);
139
+ struct uniphier_aio *aio = uniphier_priv(asoc_rtd_to_cpu(rtd, 0));
134140 struct uniphier_aio_sub *sub = &aio->sub[cstream->direction];
135141 struct device *dev = &aio->chip->pdev->dev;
136142 int ret;
....@@ -155,17 +161,18 @@
155161 aio_port_reset(sub);
156162 aio_src_reset(sub);
157163
158
- ret = uniphier_aio_compr_prepare(cstream);
164
+ ret = uniphier_aio_compr_prepare(component, cstream);
159165 if (ret)
160166 return ret;
161167
162168 return 0;
163169 }
164170
165
-static int uniphier_aio_compr_hw_free(struct snd_compr_stream *cstream)
171
+static int uniphier_aio_compr_hw_free(struct snd_soc_component *component,
172
+ struct snd_compr_stream *cstream)
166173 {
167174 struct snd_soc_pcm_runtime *rtd = cstream->private_data;
168
- struct uniphier_aio *aio = uniphier_priv(rtd->cpu_dai);
175
+ struct uniphier_aio *aio = uniphier_priv(asoc_rtd_to_cpu(rtd, 0));
169176 struct uniphier_aio_sub *sub = &aio->sub[cstream->direction];
170177
171178 sub->setting = 0;
....@@ -173,11 +180,12 @@
173180 return 0;
174181 }
175182
176
-static int uniphier_aio_compr_prepare(struct snd_compr_stream *cstream)
183
+static int uniphier_aio_compr_prepare(struct snd_soc_component *component,
184
+ struct snd_compr_stream *cstream)
177185 {
178186 struct snd_soc_pcm_runtime *rtd = cstream->private_data;
179187 struct snd_compr_runtime *runtime = cstream->runtime;
180
- struct uniphier_aio *aio = uniphier_priv(rtd->cpu_dai);
188
+ struct uniphier_aio *aio = uniphier_priv(asoc_rtd_to_cpu(rtd, 0));
181189 struct uniphier_aio_sub *sub = &aio->sub[cstream->direction];
182190 int bytes = runtime->fragment_size;
183191 unsigned long flags;
....@@ -210,12 +218,13 @@
210218 return 0;
211219 }
212220
213
-static int uniphier_aio_compr_trigger(struct snd_compr_stream *cstream,
221
+static int uniphier_aio_compr_trigger(struct snd_soc_component *component,
222
+ struct snd_compr_stream *cstream,
214223 int cmd)
215224 {
216225 struct snd_soc_pcm_runtime *rtd = cstream->private_data;
217226 struct snd_compr_runtime *runtime = cstream->runtime;
218
- struct uniphier_aio *aio = uniphier_priv(rtd->cpu_dai);
227
+ struct uniphier_aio *aio = uniphier_priv(asoc_rtd_to_cpu(rtd, 0));
219228 struct uniphier_aio_sub *sub = &aio->sub[cstream->direction];
220229 struct device *dev = &aio->chip->pdev->dev;
221230 int bytes = runtime->fragment_size, ret = 0;
....@@ -243,12 +252,13 @@
243252 return ret;
244253 }
245254
246
-static int uniphier_aio_compr_pointer(struct snd_compr_stream *cstream,
255
+static int uniphier_aio_compr_pointer(struct snd_soc_component *component,
256
+ struct snd_compr_stream *cstream,
247257 struct snd_compr_tstamp *tstamp)
248258 {
249259 struct snd_soc_pcm_runtime *rtd = cstream->private_data;
250260 struct snd_compr_runtime *runtime = cstream->runtime;
251
- struct uniphier_aio *aio = uniphier_priv(rtd->cpu_dai);
261
+ struct uniphier_aio *aio = uniphier_priv(asoc_rtd_to_cpu(rtd, 0));
252262 struct uniphier_aio_sub *sub = &aio->sub[cstream->direction];
253263 int bytes = runtime->fragment_size;
254264 unsigned long flags;
....@@ -316,13 +326,14 @@
316326 return 0;
317327 }
318328
319
-static int uniphier_aio_compr_copy(struct snd_compr_stream *cstream,
329
+static int uniphier_aio_compr_copy(struct snd_soc_component *component,
330
+ struct snd_compr_stream *cstream,
320331 char __user *buf, size_t count)
321332 {
322333 struct snd_soc_pcm_runtime *rtd = cstream->private_data;
323334 struct snd_compr_runtime *runtime = cstream->runtime;
324335 struct device *carddev = rtd->compr->card->dev;
325
- struct uniphier_aio *aio = uniphier_priv(rtd->cpu_dai);
336
+ struct uniphier_aio *aio = uniphier_priv(asoc_rtd_to_cpu(rtd, 0));
326337 struct uniphier_aio_sub *sub = &aio->sub[cstream->direction];
327338 size_t cnt = min_t(size_t, count, aio_rb_space_to_end(sub) / 2);
328339 int bytes = runtime->fragment_size;
....@@ -375,7 +386,8 @@
375386 return cnt;
376387 }
377388
378
-static int uniphier_aio_compr_get_caps(struct snd_compr_stream *cstream,
389
+static int uniphier_aio_compr_get_caps(struct snd_soc_component *component,
390
+ struct snd_compr_stream *cstream,
379391 struct snd_compr_caps *caps)
380392 {
381393 caps->num_codecs = 1;
....@@ -401,7 +413,8 @@
401413 .descriptor[0].formats = 0,
402414 };
403415
404
-static int uniphier_aio_compr_get_codec_caps(struct snd_compr_stream *stream,
416
+static int uniphier_aio_compr_get_codec_caps(struct snd_soc_component *component,
417
+ struct snd_compr_stream *stream,
405418 struct snd_compr_codec_caps *codec)
406419 {
407420 if (codec->codec == SND_AUDIOCODEC_IEC61937)
....@@ -412,7 +425,7 @@
412425 return 0;
413426 }
414427
415
-const struct snd_compr_ops uniphier_aio_compr_ops = {
428
+const struct snd_compress_ops uniphier_aio_compress_ops = {
416429 .open = uniphier_aio_compr_open,
417430 .free = uniphier_aio_compr_free,
418431 .get_params = uniphier_aio_compr_get_params,