Lines Matching refs:cell

147 			  struct snd_seq_event_cell * cell)  in snd_seq_prioq_cell_in()  argument
154 if (snd_BUG_ON(!f || !cell)) in snd_seq_prioq_cell_in()
158 prior = (cell->event.flags & SNDRV_SEQ_PRIORITY_MASK); in snd_seq_prioq_cell_in()
166 if (compare_timestamp(&cell->event, &f->tail->event)) { in snd_seq_prioq_cell_in()
168 f->tail->next = cell; in snd_seq_prioq_cell_in()
169 f->tail = cell; in snd_seq_prioq_cell_in()
170 cell->next = NULL; in snd_seq_prioq_cell_in()
185 int rel = compare_timestamp_rel(&cell->event, &cur->event); in snd_seq_prioq_cell_in()
205 prev->next = cell; in snd_seq_prioq_cell_in()
206 cell->next = cur; in snd_seq_prioq_cell_in()
209 f->head = cell; in snd_seq_prioq_cell_in()
211 f->tail = cell; in snd_seq_prioq_cell_in()
220 struct snd_seq_event_cell *cell; in snd_seq_prioq_cell_out() local
229 cell = f->head; in snd_seq_prioq_cell_out()
230 if (cell) { in snd_seq_prioq_cell_out()
231 f->head = cell->next; in snd_seq_prioq_cell_out()
234 if (f->tail == cell) in snd_seq_prioq_cell_out()
237 cell->next = NULL; in snd_seq_prioq_cell_out()
242 return cell; in snd_seq_prioq_cell_out()
267 static inline int prioq_match(struct snd_seq_event_cell *cell, in prioq_match() argument
270 if (cell->event.source.client == client || in prioq_match()
271 cell->event.dest.client == client) in prioq_match()
275 switch (cell->event.flags & SNDRV_SEQ_TIME_STAMP_MASK) { in prioq_match()
277 if (cell->event.time.tick) in prioq_match()
281 if (cell->event.time.time.tv_sec || in prioq_match()
282 cell->event.time.time.tv_nsec) in prioq_match()
292 register struct snd_seq_event_cell *cell, *next; in snd_seq_prioq_leave() local
299 cell = f->head; in snd_seq_prioq_leave()
300 while (cell) { in snd_seq_prioq_leave()
301 next = cell->next; in snd_seq_prioq_leave()
302 if (prioq_match(cell, client, timestamp)) { in snd_seq_prioq_leave()
304 if (cell == f->head) { in snd_seq_prioq_leave()
305 f->head = cell->next; in snd_seq_prioq_leave()
307 prev->next = cell->next; in snd_seq_prioq_leave()
309 if (cell == f->tail) in snd_seq_prioq_leave()
310 f->tail = cell->next; in snd_seq_prioq_leave()
313 cell->next = NULL; in snd_seq_prioq_leave()
315 freefirst = cell; in snd_seq_prioq_leave()
317 freeprev->next = cell; in snd_seq_prioq_leave()
319 freeprev = cell; in snd_seq_prioq_leave()
324 cell->event.type, in snd_seq_prioq_leave()
325 cell->event.source.client, in snd_seq_prioq_leave()
326 cell->event.dest.client, in snd_seq_prioq_leave()
329 prev = cell; in snd_seq_prioq_leave()
331 cell = next; in snd_seq_prioq_leave()
402 struct snd_seq_event_cell *cell, *next; in snd_seq_prioq_remove_events() local
409 cell = f->head; in snd_seq_prioq_remove_events()
411 while (cell) { in snd_seq_prioq_remove_events()
412 next = cell->next; in snd_seq_prioq_remove_events()
413 if (cell->event.source.client == client && in snd_seq_prioq_remove_events()
414 prioq_remove_match(info, &cell->event)) { in snd_seq_prioq_remove_events()
417 if (cell == f->head) { in snd_seq_prioq_remove_events()
418 f->head = cell->next; in snd_seq_prioq_remove_events()
420 prev->next = cell->next; in snd_seq_prioq_remove_events()
423 if (cell == f->tail) in snd_seq_prioq_remove_events()
424 f->tail = cell->next; in snd_seq_prioq_remove_events()
428 cell->next = NULL; in snd_seq_prioq_remove_events()
430 freefirst = cell; in snd_seq_prioq_remove_events()
432 freeprev->next = cell; in snd_seq_prioq_remove_events()
435 freeprev = cell; in snd_seq_prioq_remove_events()
437 prev = cell; in snd_seq_prioq_remove_events()
439 cell = next; in snd_seq_prioq_remove_events()