6db4831e98
Android 14
46 lines
1.2 KiB
C
46 lines
1.2 KiB
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
/*
|
|
* Copyright (C) 2018 MediaTek Inc.
|
|
*/
|
|
|
|
#ifndef AUDIO_RINGBUF_H
|
|
#define AUDIO_RINGBUF_H
|
|
|
|
/*
|
|
* real data operation with ringbuffer
|
|
* when moving memory.
|
|
*/
|
|
struct RingBuf {
|
|
char *pBufBase;
|
|
char *pBufEnd;
|
|
char *pRead;
|
|
char *pWrite;
|
|
int bufLen;
|
|
int datacount;
|
|
};
|
|
|
|
struct audio_dsp_dram {
|
|
unsigned long long phy_addr;
|
|
unsigned long long va_addr;
|
|
unsigned long long size;
|
|
unsigned char *vir_addr;
|
|
};
|
|
|
|
void reset_audio_dma_buf(struct snd_dma_buffer *dma_buf);
|
|
void dump_rbuf(struct RingBuf *ring_buffer);
|
|
void dump_rbuf_s(const char *appendingstring, struct RingBuf *ring_buffer);
|
|
int init_ring_buf(struct RingBuf *buf, char *vaaddr, int size);
|
|
void RingBuf_update_readptr(struct RingBuf *RingBuf1, unsigned int count);
|
|
unsigned int RingBuf_getFreeSpace(const struct RingBuf *RingBuf1);
|
|
void Ringbuf_Check(struct RingBuf *RingBuf1);
|
|
void RingBuf_copyFromUserLinear(struct RingBuf *RingBuf1, void __user *buf,
|
|
unsigned int count);
|
|
void RingBuf_copyFromLinear(struct RingBuf *RingBuf1, const char *buf,
|
|
unsigned int count);
|
|
void RingBuf_Reset(struct RingBuf *RingBuf1);
|
|
int RingBuf_Clear(struct RingBuf *RingBuf1);
|
|
|
|
|
|
#endif /* end of AUDIO_RINGBUF_H */
|
|
|