• Home
  • Raw
  • Download

Lines Matching +full:device +full:- +full:addr

1 /* SPDX-License-Identifier: GPL-2.0-or-later */
14 struct device;
17 * buffer device info
21 struct device *dev; /* generic device */
24 #define snd_dma_continuous_data(x) ((struct device *)(__force unsigned long)(x))
31 #define SNDRV_DMA_TYPE_CONTINUOUS 1 /* continuous no-DMA memory */
32 #define SNDRV_DMA_TYPE_DEV 2 /* generic device continuous */
33 #define SNDRV_DMA_TYPE_DEV_UC 5 /* continuous non-cahced */
35 #define SNDRV_DMA_TYPE_DEV_SG 3 /* generic device SG-buffer */
36 #define SNDRV_DMA_TYPE_DEV_UC_SG 6 /* SG non-cached */
38 #define SNDRV_DMA_TYPE_DEV_SG SNDRV_DMA_TYPE_DEV /* no SG-buf support */
42 #define SNDRV_DMA_TYPE_DEV_IRAM 4 /* generic device iram-buffer */
52 struct snd_dma_device dev; /* device type */
54 dma_addr_t addr; /* physical address */ member
64 return (size + PAGE_SIZE - 1) >> PAGE_SHIFT; in snd_sgbuf_aligned_pages()
69 * Scatter-Gather generic device pages
71 void *snd_malloc_sgbuf_pages(struct device *device,
78 dma_addr_t addr; member
87 struct device *dev;
96 struct snd_sg_buf *sgbuf = dmab->private_data; in snd_sgbuf_get_addr()
97 dma_addr_t addr; in snd_sgbuf_get_addr() local
100 return dmab->addr + offset; in snd_sgbuf_get_addr()
101 addr = sgbuf->table[offset >> PAGE_SHIFT].addr; in snd_sgbuf_get_addr()
102 addr &= ~((dma_addr_t)PAGE_SIZE - 1); in snd_sgbuf_get_addr()
103 return addr + offset % PAGE_SIZE; in snd_sgbuf_get_addr()
112 struct snd_sg_buf *sgbuf = dmab->private_data; in snd_sgbuf_get_ptr()
115 return dmab->area + offset; in snd_sgbuf_get_ptr()
116 return sgbuf->table[offset >> PAGE_SHIFT].buf + offset % PAGE_SIZE; in snd_sgbuf_get_ptr()
122 /* non-SG versions */
126 return dmab->addr + offset; in snd_sgbuf_get_addr()
132 return dmab->area + offset; in snd_sgbuf_get_ptr()
140 int snd_dma_alloc_pages(int type, struct device *dev, size_t size,
142 int snd_dma_alloc_pages_fallback(int type, struct device *dev, size_t size,