2021-06-09 19:25:49 +03:00
|
|
|
// SPDX-License-Identifier: GPL-2.0-only
|
|
|
|
#ifndef __MEMALLOC_LOCAL_H
|
|
|
|
#define __MEMALLOC_LOCAL_H
|
|
|
|
|
|
|
|
struct snd_malloc_ops {
|
|
|
|
int (*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);
|
2021-06-09 19:25:50 +03:00
|
|
|
int (*mmap)(struct snd_dma_buffer *dmab, struct vm_area_struct *area);
|
2021-06-09 19:25:49 +03:00
|
|
|
};
|
|
|
|
|
|
|
|
#ifdef CONFIG_SND_DMA_SGBUF
|
|
|
|
extern const struct snd_malloc_ops snd_dma_sg_ops;
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#endif /* __MEMALLOC_LOCAL_H */
|