• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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