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 #ifndef HI3516_AUDIO_DMA_OPS_H 10 #define HI3516_AUDIO_DMA_OPS_H 11 12 #include "audio_core.h" 13 14 #ifdef __cplusplus 15 #if __cplusplus 16 extern "C" { 17 #endif 18 #endif /* __cplusplus */ 19 20 int32_t AudioDmaDeviceInit(const struct AudioCard *card, const struct PlatformDevice *platform); 21 int32_t Hi3516DmaBufAlloc(struct PlatformData *data, const enum AudioStreamType streamType); 22 int32_t Hi3516DmaBufFree(struct PlatformData *data, const enum AudioStreamType streamType); 23 int32_t Hi3516DmaRequestChannel(const struct PlatformData *data, const enum AudioStreamType streamType); 24 int32_t Hi3516DmaConfigChannel(const struct PlatformData *data, const enum AudioStreamType streamType); 25 int32_t Hi3516DmaPrep(const struct PlatformData *data, const enum AudioStreamType streamType); 26 int32_t Hi3516DmaSubmit(const struct PlatformData *data, const enum AudioStreamType streamType); 27 int32_t Hi3516DmaPending(struct PlatformData *data, const enum AudioStreamType streamType); 28 int32_t Hi3516DmaPause(struct PlatformData *data, const enum AudioStreamType streamType); 29 int32_t Hi3516DmaResume(const struct PlatformData *data, const enum AudioStreamType streamType); 30 int32_t Hi3516DmaPointer(struct PlatformData *data, const enum AudioStreamType streamType, uint32_t *pointer); 31 32 #ifdef __cplusplus 33 #if __cplusplus 34 } 35 #endif 36 #endif /* __cplusplus */ 37 38 #endif /* HI3516_CODEC_OPS_H */ 39