• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/linux/linux-2.6/sound/core/

Lines Matching defs:timeri

56 	struct snd_timer_instance *timeri;
100 struct snd_timer_instance *timeri;
101 timeri = kzalloc(sizeof(*timeri), GFP_KERNEL);
102 if (timeri == NULL)
104 timeri->owner = kstrdup(owner, GFP_KERNEL);
105 if (! timeri->owner) {
106 kfree(timeri);
109 INIT_LIST_HEAD(&timeri->open_list);
110 INIT_LIST_HEAD(&timeri->active_list);
111 INIT_LIST_HEAD(&timeri->ack_list);
112 INIT_LIST_HEAD(&timeri->slave_list_head);
113 INIT_LIST_HEAD(&timeri->slave_active_head);
115 timeri->timer = timer;
117 kfree(timeri->owner);
118 kfree(timeri);
122 return timeri;
233 struct snd_timer_instance *timeri = NULL;
243 timeri = snd_timer_instance_new(owner, NULL);
244 if (!timeri) {
248 timeri->slave_class = tid->dev_sclass;
249 timeri->slave_id = tid->device;
250 timeri->flags |= SNDRV_TIMER_IFLG_SLAVE;
251 list_add_tail(&timeri->open_list, &snd_timer_slave_list);
252 snd_timer_check_slave(timeri);
254 *ti = timeri;
274 timeri = list_entry(timer->open_list_head.next,
276 if (timeri->flags & SNDRV_TIMER_IFLG_EXCLUSIVE) {
281 timeri = snd_timer_instance_new(owner, timer);
282 if (!timeri) {
286 timeri->slave_class = tid->dev_sclass;
287 timeri->slave_id = slave_id;
290 list_add_tail(&timeri->open_list, &timer->open_list_head);
291 snd_timer_check_master(timeri);
293 *ti = timeri;
297 static int _snd_timer_stop(struct snd_timer_instance *timeri,
303 int snd_timer_close(struct snd_timer_instance *timeri)
308 if (snd_BUG_ON(!timeri))
312 snd_timer_stop(timeri);
314 if (timeri->flags & SNDRV_TIMER_IFLG_SLAVE) {
317 while (timeri->flags & SNDRV_TIMER_IFLG_CALLBACK) {
324 list_del(&timeri->open_list);
327 timer = timeri->timer;
330 while (timeri->flags & SNDRV_TIMER_IFLG_CALLBACK) {
337 list_del(&timeri->open_list);
342 list_for_each_entry_safe(slave, tmp, &timeri->slave_list_head,
353 if (timeri->private_free)
354 timeri->private_free(timeri);
355 kfree(timeri->owner);
356 kfree(timeri);
362 unsigned long snd_timer_resolution(struct snd_timer_instance *timeri)
366 if (timeri == NULL)
368 if ((timer = timeri->timer) != NULL) {
410 static int snd_timer_start1(struct snd_timer *timer, struct snd_timer_instance *timeri,
413 list_del(&timeri->active_list);
414 list_add_tail(&timeri->active_list, &timer->active_list_head);
419 timeri->flags |= SNDRV_TIMER_IFLG_START;
426 timeri->flags |= SNDRV_TIMER_IFLG_RUNNING;
431 static int snd_timer_start_slave(struct snd_timer_instance *timeri)
436 timeri->flags |= SNDRV_TIMER_IFLG_RUNNING;
437 if (timeri->master)
438 list_add_tail(&timeri->active_list,
439 &timeri->master->slave_active_head);
447 int snd_timer_start(struct snd_timer_instance *timeri, unsigned int ticks)
453 if (timeri == NULL || ticks < 1)
455 if (timeri->flags & SNDRV_TIMER_IFLG_SLAVE) {
456 result = snd_timer_start_slave(timeri);
457 snd_timer_notify1(timeri, SNDRV_TIMER_EVENT_START);
460 timer = timeri->timer;
464 timeri->ticks = timeri->cticks = ticks;
465 timeri->pticks = 0;
466 result = snd_timer_start1(timer, timeri, ticks);
468 snd_timer_notify1(timeri, SNDRV_TIMER_EVENT_START);
472 static int _snd_timer_stop(struct snd_timer_instance * timeri,
478 if (snd_BUG_ON(!timeri))
481 if (timeri->flags & SNDRV_TIMER_IFLG_SLAVE) {
484 timeri->flags &= ~SNDRV_TIMER_IFLG_RUNNING;
489 timer = timeri->timer;
493 list_del_init(&timeri->ack_list);
494 list_del_init(&timeri->active_list);
495 if ((timeri->flags & SNDRV_TIMER_IFLG_RUNNING) &&
508 timeri->flags &=
513 snd_timer_notify1(timeri, event);
522 int snd_timer_stop(struct snd_timer_instance *timeri)
528 err = _snd_timer_stop(timeri, 0, SNDRV_TIMER_EVENT_STOP);
531 timer = timeri->timer;
533 timeri->cticks = timeri->ticks;
534 timeri->pticks = 0;
542 int snd_timer_continue(struct snd_timer_instance *timeri)
548 if (timeri == NULL)
550 if (timeri->flags & SNDRV_TIMER_IFLG_SLAVE)
551 return snd_timer_start_slave(timeri);
552 timer = timeri->timer;
556 if (!timeri->cticks)
557 timeri->cticks = 1;
558 timeri->pticks = 0;
559 result = snd_timer_start1(timer, timeri, timer->sticks);
561 snd_timer_notify1(timeri, SNDRV_TIMER_EVENT_CONTINUE);
568 int snd_timer_pause(struct snd_timer_instance * timeri)
570 return _snd_timer_stop(timeri, 0, SNDRV_TIMER_EVENT_PAUSE);
1111 static void snd_timer_user_interrupt(struct snd_timer_instance *timeri,
1115 struct snd_timer_user *tu = timeri->callback_data;
1155 static void snd_timer_user_ccallback(struct snd_timer_instance *timeri,
1160 struct snd_timer_user *tu = timeri->callback_data;
1179 static void snd_timer_user_tinterrupt(struct snd_timer_instance *timeri,
1183 struct snd_timer_user *tu = timeri->callback_data;
1271 if (tu->timeri)
1272 snd_timer_close(tu->timeri);
1511 if (tu->timeri) {
1512 snd_timer_close(tu->timeri);
1513 tu->timeri = NULL;
1522 err = snd_timer_open(&tu->timeri, str, &tselect.id, current->pid);
1543 snd_timer_close(tu->timeri);
1544 tu->timeri = NULL;
1546 tu->timeri->flags |= SNDRV_TIMER_IFLG_FAST;
1547 tu->timeri->callback = tu->tread
1549 tu->timeri->ccallback = snd_timer_user_ccallback;
1550 tu->timeri->callback_data = (void *)tu;
1567 if (!tu->timeri)
1569 t = tu->timeri->timer;
1599 if (!tu->timeri)
1601 t = tu->timeri->timer;
1632 snd_timer_stop(tu->timeri);
1634 tu->timeri->flags &= ~(SNDRV_TIMER_IFLG_AUTO|
1638 tu->timeri->flags |= SNDRV_TIMER_IFLG_AUTO;
1640 tu->timeri->flags |= SNDRV_TIMER_IFLG_EXCLUSIVE;
1642 tu->timeri->flags |= SNDRV_TIMER_IFLG_EARLY_EVENT;
1665 if (tu->timeri->flags & SNDRV_TIMER_IFLG_EARLY_EVENT) {
1697 if (!tu->timeri)
1701 status.resolution = snd_timer_resolution(tu->timeri);
1702 status.lost = tu->timeri->lost;
1718 if (!tu->timeri)
1720 snd_timer_stop(tu->timeri);
1721 tu->timeri->lost = 0;
1723 return (err = snd_timer_start(tu->timeri, tu->ticks)) < 0 ? err : 0;
1732 if (!tu->timeri)
1734 return (err = snd_timer_stop(tu->timeri)) < 0 ? err : 0;
1743 if (!tu->timeri)
1745 tu->timeri->lost = 0;
1746 return (err = snd_timer_continue(tu->timeri)) < 0 ? err : 0;
1755 if (!tu->timeri)
1757 return (err = snd_timer_pause(tu->timeri)) < 0 ? err : 0;
1785 if (tu->timeri) { /* too late */