Lines Matching full:cell

49  *      ext.data.ptr = the additiona cell head
50 * -> cell.next -> cell.next -> ..
71 struct snd_seq_event_cell *cell; in dump_var_event() local
104 cell = (struct snd_seq_event_cell *)event->data.ext.ptr; in dump_var_event()
105 for (; len > 0 && cell; cell = cell->next) { in dump_var_event()
107 char *curptr = (char *)&cell->event; in dump_var_event()
222 * release this cell, free extended data if available
226 struct snd_seq_event_cell *cell) in free_cell() argument
228 cell->next = pool->free; in free_cell()
229 pool->free = cell; in free_cell()
233 void snd_seq_cell_free(struct snd_seq_event_cell * cell) in snd_seq_cell_free() argument
237 if (snd_BUG_ON(!cell)) in snd_seq_cell_free()
239 pool = cell->pool; in snd_seq_cell_free()
244 free_cell(pool, cell); in snd_seq_cell_free()
245 if (snd_seq_ev_is_variable(&cell->event)) { in snd_seq_cell_free()
246 if (cell->event.data.ext.len & SNDRV_SEQ_EXT_CHAINED) { in snd_seq_cell_free()
248 curp = cell->event.data.ext.ptr; in snd_seq_cell_free()
265 * allocate an event cell.
272 struct snd_seq_event_cell *cell; in snd_seq_cell_alloc() local
312 cell = pool->free; in snd_seq_cell_alloc()
313 if (cell) { in snd_seq_cell_alloc()
315 pool->free = cell->next; in snd_seq_cell_alloc()
321 /* clear cell pointers */ in snd_seq_cell_alloc()
322 cell->next = NULL; in snd_seq_cell_alloc()
326 *cellp = cell; in snd_seq_cell_alloc()
335 * duplicate the event to a cell.
345 struct snd_seq_event_cell *cell; in snd_seq_event_dup() local
359 err = snd_seq_cell_alloc(pool, &cell, nonblock, file, mutexp); in snd_seq_event_dup()
365 memcpy(&cell->ump, event, size); in snd_seq_event_dup()
367 if (size < sizeof(cell->event)) in snd_seq_event_dup()
368 cell->ump.raw.extra = 0; in snd_seq_event_dup()
379 cell->event.data.ext.len = extlen | SNDRV_SEQ_EXT_CHAINED; in snd_seq_event_dup()
380 cell->event.data.ext.ptr = NULL; in snd_seq_event_dup()
394 if (cell->event.data.ext.ptr == NULL) in snd_seq_event_dup()
395 cell->event.data.ext.ptr = tmp; in snd_seq_event_dup()
416 *cellp = cell; in snd_seq_event_dup()
420 snd_seq_cell_free(cell); in snd_seq_event_dup()
437 int cell; in snd_seq_pool_init() local
449 /* add new cells to the free cell list */ in snd_seq_pool_init()
459 for (cell = 0; cell < pool->size; cell++) { in snd_seq_pool_init()
460 cellptr = pool->ptr + cell; in snd_seq_pool_init()