• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-WNDR4500v2-V1.0.0.60_1.0.38/src/linux/linux-2.6/sound/isa/gus/

Lines Matching defs:alloc

34 void snd_gf1_mem_lock(struct snd_gf1_mem * alloc, int xup)
37 mutex_lock(&alloc->memory_mutex);
39 mutex_unlock(&alloc->memory_mutex);
43 static struct snd_gf1_mem_block *snd_gf1_mem_xalloc(struct snd_gf1_mem * alloc,
52 pblock = alloc->first;
58 if (pblock == alloc->first)
59 alloc->first = nblock;
62 mutex_unlock(&alloc->memory_mutex);
68 if (alloc->last == NULL) {
70 alloc->first = alloc->last = nblock;
72 nblock->prev = alloc->last;
73 alloc->last->next = nblock;
74 alloc->last = nblock;
79 int snd_gf1_mem_xfree(struct snd_gf1_mem * alloc, struct snd_gf1_mem_block * block)
83 mutex_unlock(&alloc->memory_mutex);
86 if (alloc->first == block) {
87 alloc->first = block->next;
95 if (alloc->last == block) {
96 alloc->last = block->prev;
109 static struct snd_gf1_mem_block *snd_gf1_mem_look(struct snd_gf1_mem * alloc,
114 for (block = alloc->first; block; block = block->next) {
122 static struct snd_gf1_mem_block *snd_gf1_mem_share(struct snd_gf1_mem * alloc,
130 for (block = alloc->first; block; block = block->next)
136 static int snd_gf1_mem_find(struct snd_gf1_mem * alloc,
140 struct snd_gf1_bank_info *info = w_16 ? alloc->banks_16 : alloc->banks_8;
155 for (pblock = alloc->first, idx = 0; pblock; pblock = pblock->next) {
188 struct snd_gf1_mem_block *snd_gf1_mem_alloc(struct snd_gf1_mem * alloc, int owner,
194 snd_gf1_mem_lock(alloc, 0);
196 nblock = snd_gf1_mem_share(alloc, share_id);
204 snd_gf1_mem_lock(alloc, 1);
209 if (snd_gf1_mem_find(alloc, &block, size, w_16, align) < 0) {
210 snd_gf1_mem_lock(alloc, 1);
217 nblock = snd_gf1_mem_xalloc(alloc, &block);
218 snd_gf1_mem_lock(alloc, 1);
222 int snd_gf1_mem_free(struct snd_gf1_mem * alloc, unsigned int address)
227 snd_gf1_mem_lock(alloc, 0);
228 if ((block = snd_gf1_mem_look(alloc, address)) != NULL) {
229 result = snd_gf1_mem_xfree(alloc, block);
230 snd_gf1_mem_lock(alloc, 1);
233 snd_gf1_mem_lock(alloc, 1);
239 struct snd_gf1_mem *alloc;
245 alloc = &gus->gf1.mem_alloc;
246 mutex_init(&alloc->memory_mutex);
247 alloc->first = alloc->last = NULL;
257 if (snd_gf1_mem_xalloc(alloc, &block) == NULL)
263 if (snd_gf1_mem_xalloc(alloc, &block) == NULL)
274 struct snd_gf1_mem *alloc;
277 alloc = &gus->gf1.mem_alloc;
278 block = alloc->first;
281 snd_gf1_mem_xfree(alloc, block);
292 struct snd_gf1_mem *alloc;
298 alloc = &gus->gf1.mem_alloc;
299 mutex_lock(&alloc->memory_mutex);
302 snd_iprintf(buffer, "0x%06x (%04ik)%s", alloc->banks_8[i].address, alloc->banks_8[i].size >> 10, i + 1 < 4 ? "," : "");
306 snd_iprintf(buffer, "0x%06x (%04ik)%s", alloc->banks_16[i].address, alloc->banks_16[i].size >> 10, i + 1 < 4 ? "," : "");
307 total += alloc->banks_16[i].size;
311 for (block = alloc->first, i = 0; block; block = block->next, i++) {
343 mutex_unlock(&alloc->memory_mutex);