21 lines
741 B
C
21 lines
741 B
C
|
// SPDX-License-Identifier: GPL-2.0-only
|
||
|
#ifndef __MEMALLOC_LOCAL_H
|
||
|
#define __MEMALLOC_LOCAL_H
|
||
|
|
||
|
struct snd_malloc_ops {
|
||
|
void *(*alloc)(struct snd_dma_buffer *dmab, size_t size);
|
||
|
void (*free)(struct snd_dma_buffer *dmab);
|
||
|
dma_addr_t (*get_addr)(struct snd_dma_buffer *dmab, size_t offset);
|
||
|
struct page *(*get_page)(struct snd_dma_buffer *dmab, size_t offset);
|
||
|
unsigned int (*get_chunk_size)(struct snd_dma_buffer *dmab,
|
||
|
unsigned int ofs, unsigned int size);
|
||
|
int (*mmap)(struct snd_dma_buffer *dmab, struct vm_area_struct *area);
|
||
|
void (*sync)(struct snd_dma_buffer *dmab, enum snd_dma_sync_mode mode);
|
||
|
};
|
||
|
|
||
|
#ifdef CONFIG_SND_DMA_SGBUF
|
||
|
extern const struct snd_malloc_ops snd_dma_sg_ops;
|
||
|
#endif
|
||
|
|
||
|
#endif /* __MEMALLOC_LOCAL_H */
|