1 /*
2 * Copyright (c) 2021 Huawei Device Co., Ltd.
3 *
4 * HDF is dual licensed: you can use it either under the terms of
5 * the GPL, or the BSD license, at your option.
6 * See the LICENSE file in the root of this repository for complete details.
7 */
8
9 #include "audio_core_test.h"
10 #include "audio_core.h"
11 #include "audio_parse.h"
12 #include "devsvc_manager_clnt.h"
13
14 #define HDF_LOG_TAG audio_core_test
15
16 static struct AudioMixerControl g_audioTestReg = {
17 .reg = 0x2004, /* [0] output volume */
18 .rreg = 0x2004, /* register value */
19 .shift = 0x8, /* reg offset */
20 .rshift = 0x8, /* right reg offset */
21 .min = 0x28, /* min value */
22 .max = 0x7F, /* max value */
23 .mask = 0x7F, /* mask value */
24 .invert = 0, /* invert */
25 };
26
AudioDeviceReadRegMock(unsigned long virtualAddress,uint32_t reg,uint32_t * value)27 static int32_t AudioDeviceReadRegMock(unsigned long virtualAddress, uint32_t reg, uint32_t *value)
28 {
29 return HDF_SUCCESS;
30 }
31
AudioDeviceWriteRegMock(unsigned long virtualAddress,uint32_t reg,uint32_t value)32 static int32_t AudioDeviceWriteRegMock(unsigned long virtualAddress, uint32_t reg, uint32_t value)
33 {
34 return HDF_SUCCESS;
35 }
36
AudioDeviceReadRegTest(void)37 int32_t AudioDeviceReadRegTest(void)
38 {
39 int value;
40 HDF_LOGI("%s: enter", __func__);
41 return AudioDeviceReadRegMock(0, 0, &value);
42 }
43
AudioDeviceWriteRegTest(void)44 int32_t AudioDeviceWriteRegTest(void)
45 {
46 HDF_LOGI("%s: enter", __func__);
47 return AudioDeviceWriteRegMock(0, 0, 0);
48 }
49
AudioSocRegisterPlatformTest(void)50 int32_t AudioSocRegisterPlatformTest(void)
51 {
52 struct HdfDeviceObject *device = NULL;
53 struct PlatformData platformData;
54 HDF_LOGI("%s: enter", __func__);
55
56 if (AudioSocRegisterPlatform(NULL, NULL) == HDF_SUCCESS) {
57 HDF_LOGE("%s_[%d] AudioSocRegisterPlatform fail", __func__, __LINE__);
58 return HDF_FAILURE;
59 }
60
61 device = DevSvcManagerClntGetDeviceObject("hdf_audio_codec_dev0");
62 (void)memset_s(&platformData, sizeof(struct PlatformData), 0, sizeof(struct PlatformData));
63 platformData.drvPlatformName = "dma_service_0";
64 if (AudioSocRegisterPlatform(device, &platformData) != HDF_SUCCESS) {
65 HDF_LOGE("%s_[%d] AudioSocRegisterPlatform fail", __func__);
66 return HDF_FAILURE;
67 }
68 HDF_LOGI("%s: success", __func__);
69 return HDF_SUCCESS;
70 }
AudioSocRegisterDaiTest(void)71 int32_t AudioSocRegisterDaiTest(void)
72 {
73 struct HdfDeviceObject *device = NULL;
74 struct DaiData data;
75 HDF_LOGI("%s: enter", __func__);
76
77 if (AudioSocRegisterDai(NULL, NULL) == HDF_SUCCESS) {
78 HDF_LOGE("%s_[%d] AudioSocRegisterDai fail", __func__, __LINE__);
79 return HDF_FAILURE;
80 }
81
82 device = DevSvcManagerClntGetDeviceObject("hdf_audio_codec_dev0");
83 (void)memset_s(&data, sizeof(struct DaiData), 0, sizeof(struct DaiData));
84 data.drvDaiName = "dai_service";
85 if (AudioSocRegisterDai(device, &data) != HDF_SUCCESS) {
86 HDF_LOGE("%s_[%d] AudioSocRegisterDai fail", __func__, __LINE__);
87 return HDF_FAILURE;
88 }
89
90 HDF_LOGI("%s: success", __func__);
91 return HDF_SUCCESS;
92 }
93
AudioRegisterDspTest(void)94 int32_t AudioRegisterDspTest(void)
95 {
96 struct HdfDeviceObject *device = NULL;
97 struct DaiData daiData;
98 struct DspData dspData;
99 HDF_LOGI("%s: enter", __func__);
100
101 if (AudioRegisterDsp(NULL, NULL, NULL) == HDF_SUCCESS) {
102 HDF_LOGE("%s_[%d] AudioSocRegisterDsp fail", __func__, __LINE__);
103 return HDF_FAILURE;
104 }
105
106 device = DevSvcManagerClntGetDeviceObject("hdf_audio_codec_dev0");
107 (void)memset_s(&daiData, sizeof(struct DspData), 0, sizeof(struct DspData));
108 (void)memset_s(&daiData, sizeof(struct DaiData), 0, sizeof(struct DaiData));
109 dspData.drvDspName = "dsp_service_0",
110 daiData.drvDaiName = "dai_service";
111 if (AudioRegisterDsp(device, &dspData, &daiData) != HDF_SUCCESS) {
112 HDF_LOGE("%s_[%d] AudioSocRegisterDsp fail", __func__, __LINE__);
113 return HDF_FAILURE;
114 }
115
116 HDF_LOGI("%s: success", __func__);
117 return HDF_SUCCESS;
118 }
119
AudioRegisterCodecTest(void)120 int32_t AudioRegisterCodecTest(void)
121 {
122 struct HdfDeviceObject *device = NULL;
123 struct DaiData daiData;
124 struct CodecData codecData;
125 HDF_LOGI("%s: enter", __func__);
126
127 if (AudioRegisterCodec(NULL, NULL, NULL) == HDF_SUCCESS) {
128 HDF_LOGE("%s_[%d] AudioRegisterCodec fail", __func__, __LINE__);
129 return HDF_FAILURE;
130 }
131
132 device = DevSvcManagerClntGetDeviceObject("hdf_audio_codec_dev0");
133 (void)memset_s(&codecData, sizeof(struct CodecData), 0, sizeof(struct CodecData));
134 (void)memset_s(&daiData, sizeof(struct DaiData), 0, sizeof(struct DaiData));
135 codecData.drvCodecName = "codec_dai";
136 daiData.drvDaiName = "dai_service";
137 if (AudioRegisterCodec(device, &codecData, &daiData) != HDF_SUCCESS) {
138 HDF_LOGE("%s_[%d] AudioRegisterCodec fail", __func__, __LINE__);
139 return HDF_FAILURE;
140 }
141
142 HDF_LOGI("%s: success", __func__);
143 return HDF_SUCCESS;
144 }
145
AudioRegisterAccessoryTest(void)146 int32_t AudioRegisterAccessoryTest(void)
147 {
148 struct HdfDeviceObject *device = NULL;
149 struct DaiData daiData;
150 struct AccessoryData accessoryData;
151 HDF_LOGI("%s: enter", __func__);
152
153 if (AudioRegisterAccessory(NULL, NULL, NULL) == HDF_SUCCESS) {
154 HDF_LOGE("%s_[%d] AudioRegisterAccessory fail", __func__, __LINE__);
155 return HDF_FAILURE;
156 }
157
158 device = DevSvcManagerClntGetDeviceObject("hdf_audio_codec_dev0");
159 (void)memset_s(&accessoryData, sizeof(struct AccessoryData), 0, sizeof(struct AccessoryData));
160 (void)memset_s(&daiData, sizeof(struct DaiData), 0, sizeof(struct DaiData));
161 accessoryData.drvAccessoryName = "accessory_dai";
162 daiData.drvDaiName = "dai_service";
163 if (AudioRegisterAccessory(device, &accessoryData, &daiData) != HDF_SUCCESS) {
164 HDF_LOGE("%s_[%d] AudioRegisterAccessory fail", __func__, __LINE__);
165 return HDF_FAILURE;
166 }
167
168 HDF_LOGI("%s: success", __func__);
169 return HDF_SUCCESS;
170 }
171
AudioBindDaiLinkTest(void)172 int32_t AudioBindDaiLinkTest(void)
173 {
174 HDF_LOGI("%s: enter", __func__);
175
176 if (AudioBindDaiLink(NULL, NULL) == HDF_SUCCESS) {
177 HDF_LOGE("%s_[%d] AudioBindDaiLink fail", __func__, __LINE__);
178 return HDF_FAILURE;
179 }
180
181 HDF_LOGI("%s: success", __func__);
182 return HDF_SUCCESS;
183 }
184
AudioUpdateCodecRegBitsTest(void)185 int32_t AudioUpdateCodecRegBitsTest(void)
186 {
187 struct CodecData codecData;
188 struct CodecDevice codec;
189 HDF_LOGI("%s: enter", __func__);
190
191 if (AudioUpdateCodecRegBits(NULL, 0, 0, 0, 0) == HDF_SUCCESS) {
192 HDF_LOGE("%s_[%d] AudioUpdateCodecRegBits fail", __func__, __LINE__);
193 return HDF_FAILURE;
194 }
195
196 (void)memset_s(&codecData, sizeof(struct CodecData), 0, sizeof(struct CodecData));
197 (void)memset_s(&codec, sizeof(struct CodecDevice), 0, sizeof(struct CodecDevice));
198 codecData.Read = AudioDeviceReadRegMock;
199 codecData.Write = AudioDeviceWriteRegMock,
200 codec.devCodecName = "codec_service_0";
201 OsalMutexInit(&codec.mutex);
202 codec.devData = &codecData;
203 if (AudioUpdateCodecRegBits(&codec, g_audioTestReg.reg, g_audioTestReg.mask,
204 g_audioTestReg.shift, g_audioTestReg.min + 1) != HDF_SUCCESS) {
205 HDF_LOGE("%s_[%d] AudioUpdateCodecRegBits fail", __func__, __LINE__);
206 OsalMutexDestroy(&codec.mutex);
207 return HDF_FAILURE;
208 }
209
210 OsalMutexDestroy(&codec.mutex);
211 HDF_LOGI("%s: success", __func__);
212 return HDF_SUCCESS;
213 }
214
AudioUpdateAccessoryRegBitsTest(void)215 int32_t AudioUpdateAccessoryRegBitsTest(void)
216 {
217 struct AccessoryDevice accessory;
218 HDF_LOGI("%s: enter", __func__);
219
220 if (AudioUpdateAccessoryRegBits(NULL, 0, 0, 0, 0) == HDF_SUCCESS) {
221 HDF_LOGE("%s_[%d] AudioUpdateAccessoryRegBits fail", __func__, __LINE__);
222 return HDF_FAILURE;
223 }
224
225 (void)memset_s(&accessory, sizeof(struct AccessoryDevice), 0, sizeof(struct AccessoryDevice));
226 accessory.devAccessoryName = "codec_service_1";
227 OsalMutexInit(&accessory.mutex);
228 if (AudioUpdateAccessoryRegBits(&accessory, g_audioTestReg.reg, g_audioTestReg.mask,
229 g_audioTestReg.shift, g_audioTestReg.min + 1) != HDF_SUCCESS) {
230 HDF_LOGE("%s_[%d] AudioUpdateAccessoryRegBits fail", __func__, __LINE__);
231 OsalMutexDestroy(&accessory.mutex);
232 }
233
234 OsalMutexDestroy(&accessory.mutex);
235 HDF_LOGI("%s: success", __func__);
236 return HDF_SUCCESS;
237 }
238
AudioUpdateDaiRegBitsTest(void)239 int32_t AudioUpdateDaiRegBitsTest(void)
240 {
241 struct DaiDevice dai;
242 HDF_LOGI("%s: enter", __func__);
243
244 if (AudioUpdateDaiRegBits(NULL, 0, 0, 0, 0) == HDF_SUCCESS) {
245 HDF_LOGE("%s_[%d] AudioUpdateDaiRegBits fail", __func__, __LINE__);
246 return HDF_FAILURE;
247 }
248
249 (void)memset_s(&dai, sizeof(struct DaiDevice), 0, sizeof(struct DaiDevice));
250 dai.devDaiName = "dai_service";
251 if (AudioUpdateDaiRegBits(&dai, g_audioTestReg.reg, g_audioTestReg.mask,
252 g_audioTestReg.shift, g_audioTestReg.min + 1) != HDF_SUCCESS) {
253 HDF_LOGE("%s_[%d] AudioUpdateAccessoryRegBits fail", __func__, __LINE__);
254 }
255
256 HDF_LOGI("%s: success", __func__);
257 return HDF_SUCCESS;
258 }
259
AudioKcontrolGetCpuDaiTest(void)260 int32_t AudioKcontrolGetCpuDaiTest(void)
261 {
262 struct AudioKcontrol *kcontrol = NULL;
263 HDF_LOGI("%s: enter", __func__);
264
265 if (AudioKcontrolGetCpuDai(kcontrol) == NULL) {
266 HDF_LOGE("%s_[%d] AudioKcontrolGetCpuDai fail!", __func__, __LINE__);
267 }
268
269 HDF_LOGI("%s: success", __func__);
270 return HDF_SUCCESS;
271 }
272
AudioKcontrolGetCodecTest(void)273 int32_t AudioKcontrolGetCodecTest(void)
274 {
275 struct AudioKcontrol *kcontrol = NULL;
276 HDF_LOGI("%s: enter", __func__);
277
278 if (AudioKcontrolGetCodec(kcontrol) == NULL) {
279 HDF_LOGE("%s_[%d] AudioKcontrolGetCodec fail!", __func__, __LINE__);
280 }
281
282 HDF_LOGI("%s: success", __func__);
283 return HDF_SUCCESS;
284 }
285
AudioKcontrolGetAccessoryTest(void)286 int32_t AudioKcontrolGetAccessoryTest(void)
287 {
288 struct AudioKcontrol *kcontrol = NULL;
289 HDF_LOGI("%s: enter", __func__);
290
291 if (AudioKcontrolGetAccessory(kcontrol) == NULL) {
292 HDF_LOGE("%s_[%d] AudioKcontrolGetAccessory fail!", __func__, __LINE__);
293 }
294
295 HDF_LOGI("%s: success", __func__);
296 return HDF_SUCCESS;
297 }
298
AudioAddControlsTest(void)299 int32_t AudioAddControlsTest(void)
300 {
301 HDF_LOGI("%s: enter", __func__);
302
303 if (AudioAddControls(NULL, NULL, 0) == HDF_SUCCESS) {
304 HDF_LOGE("%s_[%d] AudioAddControls fail", __func__, __LINE__);
305 return HDF_FAILURE;
306 }
307
308 HDF_LOGI("%s: success", __func__);
309 return HDF_SUCCESS;
310 }
311
AudioAddControlTest(void)312 int32_t AudioAddControlTest(void)
313 {
314 struct AudioCard *audioCard = NULL;
315 struct AudioKcontrol control;
316 HDF_LOGI("%s: enter", __func__);
317
318 audioCard = GetCardInstance("hdf_audio_codec_dev0");
319 (void)memset_s(&control, sizeof(struct AudioKcontrol), 0, sizeof(struct AudioKcontrol));
320 if (AudioAddControl(audioCard, &control) == NULL) {
321 HDF_LOGE("%s_[%d] AudioAddControl fail!", __func__, __LINE__);
322 }
323 HDF_LOGI("%s: success", __func__);
324 return HDF_SUCCESS;
325 }
326
AudioGetCtrlOpsRRegTest(void)327 int32_t AudioGetCtrlOpsRRegTest(void)
328 {
329 struct AudioCtrlElemValue elemValue;
330 struct AudioMixerControl mixerCtrl;
331 HDF_LOGI("%s: enter", __func__);
332
333 (void)memset_s(&elemValue, sizeof(struct AudioCtrlElemValue), 0, sizeof(struct AudioCtrlElemValue));
334 (void)memset_s(&mixerCtrl, sizeof(struct AudioMixerControl), 0, sizeof(struct AudioMixerControl));
335 AudioGetCtrlOpsRReg(&elemValue, &mixerCtrl, 0);
336
337 HDF_LOGI("%s: success", __func__);
338 return HDF_SUCCESS;
339 }
340
AudioGetCtrlOpsRegTest(void)341 int32_t AudioGetCtrlOpsRegTest(void)
342 {
343 struct AudioCtrlElemValue elemValue;
344 struct AudioMixerControl mixerCtrl;
345 HDF_LOGI("%s: enter", __func__);
346
347 (void)memset_s(&elemValue, sizeof(struct AudioCtrlElemValue), 0, sizeof(struct AudioCtrlElemValue));
348 (void)memset_s(&mixerCtrl, sizeof(struct AudioMixerControl), 0, sizeof(struct AudioMixerControl));
349 AudioGetCtrlOpsReg(&elemValue, &mixerCtrl, 0);
350
351 HDF_LOGI("%s: success", __func__);
352 return HDF_SUCCESS;
353 }
354
AudioSetCtrlOpsRegTest(void)355 int32_t AudioSetCtrlOpsRegTest(void)
356 {
357 uint32_t value;
358 struct AudioKcontrol kcontrol;
359 struct AudioCtrlElemValue elemValue;
360 struct AudioMixerControl mixerCtrl;
361 HDF_LOGI("%s: enter", __func__);
362
363 (void)memset_s(&kcontrol, sizeof(struct AudioKcontrol), 0, sizeof(struct AudioKcontrol));
364 (void)memset_s(&elemValue, sizeof(struct AudioCtrlElemValue), 0, sizeof(struct AudioCtrlElemValue));
365 (void)memset_s(&mixerCtrl, sizeof(struct AudioMixerControl), 0, sizeof(struct AudioMixerControl));
366 AudioSetCtrlOpsReg(&kcontrol, &elemValue, &mixerCtrl, &value);
367
368 HDF_LOGI("%s: success", __func__);
369 return HDF_SUCCESS;
370 }
371
AudioSetCtrlOpsRRegTest(void)372 int32_t AudioSetCtrlOpsRRegTest(void)
373 {
374 uint32_t value;
375 bool updateRReg;
376 struct AudioCtrlElemValue elemValue;
377 struct AudioMixerControl mixerCtrl;
378 HDF_LOGI("%s: enter", __func__);
379
380 (void)memset_s(&elemValue, sizeof(struct AudioCtrlElemValue), 0, sizeof(struct AudioCtrlElemValue));
381 (void)memset_s(&mixerCtrl, sizeof(struct AudioMixerControl), 0, sizeof(struct AudioMixerControl));
382 AudioSetCtrlOpsRReg(&elemValue, &mixerCtrl, &value, &updateRReg);
383
384 HDF_LOGI("%s: success", __func__);
385 return HDF_SUCCESS;
386 }
387
AudioDaiReadRegTest(void)388 int32_t AudioDaiReadRegTest(void)
389 {
390 uint32_t val;
391 struct DaiDevice dai;
392 HDF_LOGI("%s: enter", __func__);
393
394 (void)memset_s(&dai, sizeof(struct DaiDevice), 0, sizeof(struct DaiDevice));
395 if (AudioDaiReadReg(&dai, 0, &val) == HDF_SUCCESS) {
396 HDF_LOGE("%s_[%d] AudioDaiReadReg fail", __func__, __LINE__);
397 return HDF_FAILURE;
398 }
399
400 HDF_LOGI("%s: success", __func__);
401 return HDF_SUCCESS;
402 }
403
AudioDaiWriteRegTest(void)404 int32_t AudioDaiWriteRegTest(void)
405 {
406 struct DaiDevice dai;
407 HDF_LOGI("%s: enter", __func__);
408
409 (void)memset_s(&dai, sizeof(struct DaiDevice), 0, sizeof(struct DaiDevice));
410 if (AudioDaiWriteReg(&dai, 0, 0) == HDF_SUCCESS) {
411 HDF_LOGE("%s_[%d] AudioDaiWriteReg fail", __func__, __LINE__);
412 return HDF_FAILURE;
413 }
414
415 HDF_LOGI("%s: success", __func__);
416 return HDF_SUCCESS;
417 }
418
AudioCodecReadRegTest(void)419 int32_t AudioCodecReadRegTest(void)
420 {
421 uint32_t val;
422 struct CodecDevice codec;
423 HDF_LOGI("%s: enter", __func__);
424
425 (void)memset_s(&codec, sizeof(struct CodecDevice), 0, sizeof(struct CodecDevice));
426 if (AudioCodecReadReg(&codec, 0, &val) == HDF_SUCCESS) {
427 HDF_LOGE("%s_[%d] AudioCodecReadReg fail", __func__, __LINE__);
428 return HDF_FAILURE;
429 }
430
431 HDF_LOGI("%s: success", __func__);
432 return HDF_SUCCESS;
433 }
434
AudioCodecWriteRegTest(void)435 int32_t AudioCodecWriteRegTest(void)
436 {
437 struct CodecDevice codec;
438 HDF_LOGI("%s: enter", __func__);
439
440 (void)memset_s(&codec, sizeof(struct CodecDevice), 0, sizeof(struct CodecDevice));
441 if (AudioCodecWriteReg(&codec, 0, 0) == HDF_SUCCESS) {
442 HDF_LOGE("%s_[%d] AudioCodecWriteReg fail", __func__, __LINE__);
443 return HDF_FAILURE;
444 }
445
446 HDF_LOGI("%s: success", __func__);
447 return HDF_SUCCESS;
448 }
449
AudioAccessoryReadRegTest(void)450 int32_t AudioAccessoryReadRegTest(void)
451 {
452 uint32_t val;
453 struct AccessoryDevice accessory;
454 HDF_LOGI("%s: enter", __func__);
455
456 (void)memset_s(&accessory, sizeof(struct AccessoryDevice), 0, sizeof(struct AccessoryDevice));
457 if (AudioAccessoryReadReg(&accessory, 0, &val) == HDF_SUCCESS) {
458 HDF_LOGE("%s_[%d] AudioAccessoryReadReg fail", __func__, __LINE__);
459 return HDF_FAILURE;
460 }
461
462 HDF_LOGI("%s: success", __func__);
463 return HDF_SUCCESS;
464 }
465
AudioAccessoryWriteRegTest(void)466 int32_t AudioAccessoryWriteRegTest(void)
467 {
468 struct AccessoryDevice accessory;
469 HDF_LOGI("%s: enter", __func__);
470
471 (void)memset_s(&accessory, sizeof(struct AccessoryDevice), 0, sizeof(struct AccessoryDevice));
472 if (AudioAccessoryWriteReg(&accessory, 0, 0) == HDF_SUCCESS) {
473 HDF_LOGE("%s_[%d] AudioAccessoryWriteReg fail", __func__, __LINE__);
474 return HDF_FAILURE;
475 }
476
477 HDF_LOGI("%s: success", __func__);
478 return HDF_SUCCESS;
479 }
480
AudioInfoCtrlOpsTest(void)481 int32_t AudioInfoCtrlOpsTest(void)
482 {
483 struct AudioKcontrol kcontrol;
484 struct AudioCtrlElemInfo elemInfo;
485 HDF_LOGI("%s: enter", __func__);
486
487 if (AudioInfoCtrlOps(NULL, NULL) == HDF_SUCCESS) {
488 HDF_LOGE("%s_[%d] AudioInfoCtrlOps fail", __func__, __LINE__);
489 return HDF_FAILURE;
490 }
491 (void)memset_s(&kcontrol, sizeof(struct AudioKcontrol), 0, sizeof(struct AudioKcontrol));
492 (void)memset_s(&elemInfo, sizeof(struct AudioCtrlElemInfo), 0, sizeof(struct AudioCtrlElemInfo));
493 if (AudioInfoCtrlOps(&kcontrol, &elemInfo) == HDF_SUCCESS) {
494 HDF_LOGE("%s_[%d] AudioInfoCtrlOps fail", __func__, __LINE__);
495 }
496
497 HDF_LOGI("%s: success", __func__);
498 return HDF_SUCCESS;
499 }
500
AudioCodecGetCtrlOpsTest(void)501 int32_t AudioCodecGetCtrlOpsTest(void)
502 {
503 struct AudioKcontrol kcontrol;
504 struct AudioCtrlElemValue elemValue;
505 HDF_LOGI("%s: enter", __func__);
506
507 if (AudioCodecGetCtrlOps(NULL, NULL) == HDF_SUCCESS) {
508 HDF_LOGE("%s_[%d] AudioCodecGetCtrlOps fail", __func__, __LINE__);
509 return HDF_FAILURE;
510 }
511 (void)memset_s(&kcontrol, sizeof(struct AudioKcontrol), 0, sizeof(struct AudioKcontrol));
512 (void)memset_s(&elemValue, sizeof(struct AudioCtrlElemValue), 0, sizeof(struct AudioCtrlElemValue));
513 if (AudioCodecGetCtrlOps(&kcontrol, &elemValue) == HDF_SUCCESS) {
514 HDF_LOGE("%s_[%d] AudioCodecGetCtrlOps fail", __func__, __LINE__);
515 }
516
517 HDF_LOGI("%s: success", __func__);
518 return HDF_SUCCESS;
519 }
520
AudioCodecSetCtrlOpsTest(void)521 int32_t AudioCodecSetCtrlOpsTest(void)
522 {
523 struct AudioKcontrol kcontrol;
524 struct AudioCtrlElemValue elemValue;
525 HDF_LOGI("%s: enter", __func__);
526
527 if (AudioCodecSetCtrlOps(NULL, NULL) == HDF_SUCCESS) {
528 HDF_LOGE("%s_[%d] AudioCodecSetCtrlOps fail", __func__, __LINE__);
529 return HDF_FAILURE;
530 }
531 (void)memset_s(&kcontrol, sizeof(struct AudioKcontrol), 0, sizeof(struct AudioKcontrol));
532 (void)memset_s(&elemValue, sizeof(struct AudioCtrlElemValue), 0, sizeof(struct AudioCtrlElemValue));
533 if (AudioCodecSetCtrlOps(&kcontrol, &elemValue) == HDF_SUCCESS) {
534 HDF_LOGE("%s_[%d] AudioCodecSetCtrlOps fail", __func__, __LINE__);
535 }
536
537 HDF_LOGI("%s: success", __func__);
538 return HDF_SUCCESS;
539 }
540
AudioAccessoryGetCtrlOpsTest(void)541 int32_t AudioAccessoryGetCtrlOpsTest(void)
542 {
543 struct AudioKcontrol kcontrol;
544 struct AudioCtrlElemValue elemValue;
545 HDF_LOGI("%s: enter", __func__);
546
547 if (AudioAccessoryGetCtrlOps(NULL, NULL) == HDF_SUCCESS) {
548 HDF_LOGE("%s_[%d] AudioAccessoryGetCtrlOps fail", __func__, __LINE__);
549 return HDF_FAILURE;
550 }
551 (void)memset_s(&kcontrol, sizeof(struct AudioKcontrol), 0, sizeof(struct AudioKcontrol));
552 (void)memset_s(&elemValue, sizeof(struct AudioCtrlElemValue), 0, sizeof(struct AudioCtrlElemValue));
553 if (AudioAccessoryGetCtrlOps(&kcontrol, &elemValue) == HDF_SUCCESS) {
554 HDF_LOGE("%s_[%d] AudioAccessoryGetCtrlOps fail", __func__, __LINE__);
555 }
556
557 HDF_LOGI("%s: success", __func__);
558 return HDF_SUCCESS;
559 }
560
AudioAccessorySetCtrlOpsTset(void)561 int32_t AudioAccessorySetCtrlOpsTset(void)
562 {
563 struct AudioKcontrol kcontrol;
564 struct AudioCtrlElemValue elemValue;
565 HDF_LOGI("%s: enter", __func__);
566
567 if (AudioAccessorySetCtrlOps(NULL, NULL) == HDF_SUCCESS) {
568 HDF_LOGE("%s_[%d] AudioAccessorySetCtrlOps fail", __func__, __LINE__);
569 return HDF_FAILURE;
570 }
571 (void)memset_s(&kcontrol, sizeof(struct AudioKcontrol), 0, sizeof(struct AudioKcontrol));
572 (void)memset_s(&elemValue, sizeof(struct AudioCtrlElemValue), 0, sizeof(struct AudioCtrlElemValue));
573 if (AudioAccessorySetCtrlOps(&kcontrol, &elemValue) == HDF_SUCCESS) {
574 HDF_LOGE("%s_[%d] AudioAccessorySetCtrlOps fail", __func__, __LINE__);
575 }
576
577 HDF_LOGI("%s: success", __func__);
578 return HDF_SUCCESS;
579 }
580
AudioCpuDaiSetCtrlOpsTest(void)581 int32_t AudioCpuDaiSetCtrlOpsTest(void)
582 {
583 struct AudioKcontrol kcontrol;
584 struct AudioCtrlElemValue elemValue;
585 HDF_LOGI("%s: enter", __func__);
586
587 if (AudioCpuDaiSetCtrlOps(NULL, NULL) == HDF_SUCCESS) {
588 HDF_LOGE("%s_[%d] AudioCpuDaiSetCtrlOps fail", __func__, __LINE__);
589 return HDF_FAILURE;
590 }
591 (void)memset_s(&kcontrol, sizeof(struct AudioKcontrol), 0, sizeof(struct AudioKcontrol));
592 (void)memset_s(&elemValue, sizeof(struct AudioCtrlElemValue), 0, sizeof(struct AudioCtrlElemValue));
593 if (AudioCpuDaiSetCtrlOps(&kcontrol, &elemValue) == HDF_SUCCESS) {
594 HDF_LOGE("%s_[%d] AudioCpuDaiSetCtrlOps fail", __func__, __LINE__);
595 }
596
597 HDF_LOGI("%s: success", __func__);
598 return HDF_SUCCESS;
599 }
600
AudioCpuDaiGetCtrlOpsTest(void)601 int32_t AudioCpuDaiGetCtrlOpsTest(void)
602 {
603 struct AudioKcontrol kcontrol;
604 struct AudioCtrlElemValue elemValue;
605 HDF_LOGI("%s: enter", __func__);
606
607 if (AudioCpuDaiGetCtrlOps(NULL, NULL) == HDF_SUCCESS) {
608 HDF_LOGE("%s_[%d] AudioCpuDaiGetCtrlOps fail", __func__, __LINE__);
609 return HDF_FAILURE;
610 }
611 (void)memset_s(&kcontrol, sizeof(struct AudioKcontrol), 0, sizeof(struct AudioKcontrol));
612 (void)memset_s(&elemValue, sizeof(struct AudioCtrlElemValue), 0, sizeof(struct AudioCtrlElemValue));
613 if (AudioCpuDaiGetCtrlOps(&kcontrol, &elemValue) == HDF_SUCCESS) {
614 HDF_LOGE("%s_[%d] AudioCpuDaiGetCtrlOps fail", __func__, __LINE__);
615 }
616
617 HDF_LOGI("%s: success", __func__);
618 return HDF_SUCCESS;
619 }
620