timeri 88 include/sound/timer.h void (*callback) (struct snd_timer_instance *timeri, timeri 90 include/sound/timer.h void (*ccallback) (struct snd_timer_instance * timeri, timeri 94 include/sound/timer.h void (*disconnect)(struct snd_timer_instance *timeri); timeri 122 include/sound/timer.h int snd_timer_close(struct snd_timer_instance *timeri); timeri 123 include/sound/timer.h unsigned long snd_timer_resolution(struct snd_timer_instance *timeri); timeri 124 include/sound/timer.h int snd_timer_start(struct snd_timer_instance *timeri, unsigned int ticks); timeri 125 include/sound/timer.h int snd_timer_stop(struct snd_timer_instance *timeri); timeri 126 include/sound/timer.h int snd_timer_continue(struct snd_timer_instance *timeri); timeri 127 include/sound/timer.h int snd_timer_pause(struct snd_timer_instance *timeri); timeri 120 sound/core/seq/seq_timer.c static void snd_seq_timer_interrupt(struct snd_timer_instance *timeri, timeri 125 sound/core/seq/seq_timer.c struct snd_seq_queue *q = timeri->callback_data; timeri 268 sound/core/seq/seq_timer.c if (tmr->timeri) timeri 296 sound/core/seq/seq_timer.c tmr->timeri = t; timeri 310 sound/core/seq/seq_timer.c t = tmr->timeri; timeri 311 sound/core/seq/seq_timer.c tmr->timeri = NULL; timeri 320 sound/core/seq/seq_timer.c if (! tmr->timeri) timeri 325 sound/core/seq/seq_timer.c snd_timer_pause(tmr->timeri); timeri 345 sound/core/seq/seq_timer.c t = tmr->timeri->timer; timeri 359 sound/core/seq/seq_timer.c unsigned long r = snd_timer_resolution(tmr->timeri); timeri 372 sound/core/seq/seq_timer.c if (! tmr->timeri) timeri 379 sound/core/seq/seq_timer.c snd_timer_start(tmr->timeri, tmr->ticks); timeri 398 sound/core/seq/seq_timer.c if (! tmr->timeri) timeri 407 sound/core/seq/seq_timer.c snd_timer_start(tmr->timeri, tmr->ticks); timeri 479 sound/core/seq/seq_timer.c ti = tmr->timeri; timeri 33 sound/core/seq/seq_timer.h struct snd_timer_instance *timeri; /* timer instance */ timeri 48 sound/core/timer.c struct snd_timer_instance *timeri; timeri 96 sound/core/timer.c struct snd_timer_instance *timeri; timeri 97 sound/core/timer.c timeri = kzalloc(sizeof(*timeri), GFP_KERNEL); timeri 98 sound/core/timer.c if (timeri == NULL) timeri 100 sound/core/timer.c timeri->owner = kstrdup(owner, GFP_KERNEL); timeri 101 sound/core/timer.c if (! timeri->owner) { timeri 102 sound/core/timer.c kfree(timeri); timeri 105 sound/core/timer.c INIT_LIST_HEAD(&timeri->open_list); timeri 106 sound/core/timer.c INIT_LIST_HEAD(&timeri->active_list); timeri 107 sound/core/timer.c INIT_LIST_HEAD(&timeri->ack_list); timeri 108 sound/core/timer.c INIT_LIST_HEAD(&timeri->slave_list_head); timeri 109 sound/core/timer.c INIT_LIST_HEAD(&timeri->slave_active_head); timeri 111 sound/core/timer.c timeri->timer = timer; timeri 113 sound/core/timer.c kfree(timeri->owner); timeri 114 sound/core/timer.c kfree(timeri); timeri 118 sound/core/timer.c return timeri; timeri 232 sound/core/timer.c static int snd_timer_close_locked(struct snd_timer_instance *timeri, timeri 244 sound/core/timer.c struct snd_timer_instance *timeri = NULL; timeri 262 sound/core/timer.c timeri = snd_timer_instance_new(owner, NULL); timeri 263 sound/core/timer.c if (!timeri) { timeri 267 sound/core/timer.c timeri->slave_class = tid->dev_sclass; timeri 268 sound/core/timer.c timeri->slave_id = tid->device; timeri 269 sound/core/timer.c timeri->flags |= SNDRV_TIMER_IFLG_SLAVE; timeri 270 sound/core/timer.c list_add_tail(&timeri->open_list, &snd_timer_slave_list); timeri 272 sound/core/timer.c err = snd_timer_check_slave(timeri); timeri 274 sound/core/timer.c snd_timer_close_locked(timeri, &card_dev_to_put); timeri 275 sound/core/timer.c timeri = NULL; timeri 307 sound/core/timer.c timeri = snd_timer_instance_new(owner, timer); timeri 308 sound/core/timer.c if (!timeri) { timeri 315 sound/core/timer.c timeri->slave_class = tid->dev_sclass; timeri 316 sound/core/timer.c timeri->slave_id = slave_id; timeri 321 sound/core/timer.c kfree(timeri->owner); timeri 322 sound/core/timer.c kfree(timeri); timeri 323 sound/core/timer.c timeri = NULL; timeri 332 sound/core/timer.c list_add_tail(&timeri->open_list, &timer->open_list_head); timeri 334 sound/core/timer.c err = snd_timer_check_master(timeri); timeri 336 sound/core/timer.c snd_timer_close_locked(timeri, &card_dev_to_put); timeri 337 sound/core/timer.c timeri = NULL; timeri 345 sound/core/timer.c *ti = timeri; timeri 354 sound/core/timer.c static int snd_timer_close_locked(struct snd_timer_instance *timeri, timeri 357 sound/core/timer.c struct snd_timer *timer = timeri->timer; timeri 362 sound/core/timer.c timeri->flags |= SNDRV_TIMER_IFLG_DEAD; timeri 366 sound/core/timer.c list_del(&timeri->open_list); timeri 367 sound/core/timer.c if (timeri->flags & SNDRV_TIMER_IFLG_SLAVE) timeri 371 sound/core/timer.c snd_timer_stop(timeri); timeri 377 sound/core/timer.c while (timeri->flags & SNDRV_TIMER_IFLG_CALLBACK) { timeri 387 sound/core/timer.c list_for_each_entry_safe(slave, tmp, &timeri->slave_list_head, timeri 400 sound/core/timer.c if (timeri->flags & SNDRV_TIMER_IFLG_SLAVE) timeri 404 sound/core/timer.c if (timeri->private_free) timeri 405 sound/core/timer.c timeri->private_free(timeri); timeri 406 sound/core/timer.c kfree(timeri->owner); timeri 407 sound/core/timer.c kfree(timeri); timeri 424 sound/core/timer.c int snd_timer_close(struct snd_timer_instance *timeri) timeri 429 sound/core/timer.c if (snd_BUG_ON(!timeri)) timeri 433 sound/core/timer.c err = snd_timer_close_locked(timeri, &card_dev_to_put); timeri 450 sound/core/timer.c unsigned long snd_timer_resolution(struct snd_timer_instance *timeri) timeri 456 sound/core/timer.c if (timeri == NULL) timeri 458 sound/core/timer.c timer = timeri->timer; timeri 500 sound/core/timer.c static int snd_timer_start1(struct snd_timer_instance *timeri, timeri 507 sound/core/timer.c timer = timeri->timer; timeri 512 sound/core/timer.c if (timeri->flags & SNDRV_TIMER_IFLG_DEAD) { timeri 520 sound/core/timer.c if (timeri->flags & (SNDRV_TIMER_IFLG_RUNNING | timeri 527 sound/core/timer.c timeri->ticks = timeri->cticks = ticks; timeri 528 sound/core/timer.c else if (!timeri->cticks) timeri 529 sound/core/timer.c timeri->cticks = 1; timeri 530 sound/core/timer.c timeri->pticks = 0; timeri 532 sound/core/timer.c list_move_tail(&timeri->active_list, &timer->active_list_head); timeri 537 sound/core/timer.c timeri->flags |= SNDRV_TIMER_IFLG_START; timeri 545 sound/core/timer.c timeri->flags |= SNDRV_TIMER_IFLG_RUNNING; timeri 548 sound/core/timer.c snd_timer_notify1(timeri, start ? SNDRV_TIMER_EVENT_START : timeri 556 sound/core/timer.c static int snd_timer_start_slave(struct snd_timer_instance *timeri, timeri 563 sound/core/timer.c if (timeri->flags & SNDRV_TIMER_IFLG_DEAD) { timeri 567 sound/core/timer.c if (timeri->flags & SNDRV_TIMER_IFLG_RUNNING) { timeri 571 sound/core/timer.c timeri->flags |= SNDRV_TIMER_IFLG_RUNNING; timeri 572 sound/core/timer.c if (timeri->master && timeri->timer) { timeri 573 sound/core/timer.c spin_lock(&timeri->timer->lock); timeri 574 sound/core/timer.c list_add_tail(&timeri->active_list, timeri 575 sound/core/timer.c &timeri->master->slave_active_head); timeri 576 sound/core/timer.c snd_timer_notify1(timeri, start ? SNDRV_TIMER_EVENT_START : timeri 578 sound/core/timer.c spin_unlock(&timeri->timer->lock); timeri 587 sound/core/timer.c static int snd_timer_stop1(struct snd_timer_instance *timeri, bool stop) timeri 593 sound/core/timer.c timer = timeri->timer; timeri 597 sound/core/timer.c if (!(timeri->flags & (SNDRV_TIMER_IFLG_RUNNING | timeri 602 sound/core/timer.c list_del_init(&timeri->ack_list); timeri 603 sound/core/timer.c list_del_init(&timeri->active_list); timeri 607 sound/core/timer.c timeri->cticks = timeri->ticks; timeri 608 sound/core/timer.c timeri->pticks = 0; timeri 610 sound/core/timer.c if ((timeri->flags & SNDRV_TIMER_IFLG_RUNNING) && timeri 622 sound/core/timer.c timeri->flags &= ~(SNDRV_TIMER_IFLG_RUNNING | SNDRV_TIMER_IFLG_START); timeri 624 sound/core/timer.c timeri->flags &= ~SNDRV_TIMER_IFLG_PAUSED; timeri 626 sound/core/timer.c timeri->flags |= SNDRV_TIMER_IFLG_PAUSED; timeri 627 sound/core/timer.c snd_timer_notify1(timeri, stop ? SNDRV_TIMER_EVENT_STOP : timeri 635 sound/core/timer.c static int snd_timer_stop_slave(struct snd_timer_instance *timeri, bool stop) timeri 640 sound/core/timer.c if (!(timeri->flags & SNDRV_TIMER_IFLG_RUNNING)) { timeri 644 sound/core/timer.c timeri->flags &= ~SNDRV_TIMER_IFLG_RUNNING; timeri 645 sound/core/timer.c if (timeri->timer) { timeri 646 sound/core/timer.c spin_lock(&timeri->timer->lock); timeri 647 sound/core/timer.c list_del_init(&timeri->ack_list); timeri 648 sound/core/timer.c list_del_init(&timeri->active_list); timeri 649 sound/core/timer.c snd_timer_notify1(timeri, stop ? SNDRV_TIMER_EVENT_STOP : timeri 651 sound/core/timer.c spin_unlock(&timeri->timer->lock); timeri 660 sound/core/timer.c int snd_timer_start(struct snd_timer_instance *timeri, unsigned int ticks) timeri 662 sound/core/timer.c if (timeri == NULL || ticks < 1) timeri 664 sound/core/timer.c if (timeri->flags & SNDRV_TIMER_IFLG_SLAVE) timeri 665 sound/core/timer.c return snd_timer_start_slave(timeri, true); timeri 667 sound/core/timer.c return snd_timer_start1(timeri, true, ticks); timeri 676 sound/core/timer.c int snd_timer_stop(struct snd_timer_instance *timeri) timeri 678 sound/core/timer.c if (timeri->flags & SNDRV_TIMER_IFLG_SLAVE) timeri 679 sound/core/timer.c return snd_timer_stop_slave(timeri, true); timeri 681 sound/core/timer.c return snd_timer_stop1(timeri, true); timeri 688 sound/core/timer.c int snd_timer_continue(struct snd_timer_instance *timeri) timeri 691 sound/core/timer.c if (!(timeri->flags & SNDRV_TIMER_IFLG_PAUSED)) timeri 694 sound/core/timer.c if (timeri->flags & SNDRV_TIMER_IFLG_SLAVE) timeri 695 sound/core/timer.c return snd_timer_start_slave(timeri, false); timeri 697 sound/core/timer.c return snd_timer_start1(timeri, false, 0); timeri 704 sound/core/timer.c int snd_timer_pause(struct snd_timer_instance * timeri) timeri 706 sound/core/timer.c if (timeri->flags & SNDRV_TIMER_IFLG_SLAVE) timeri 707 sound/core/timer.c return snd_timer_stop_slave(timeri, false); timeri 709 sound/core/timer.c return snd_timer_stop1(timeri, false); timeri 1292 sound/core/timer.c static void snd_timer_user_interrupt(struct snd_timer_instance *timeri, timeri 1296 sound/core/timer.c struct snd_timer_user *tu = timeri->callback_data; timeri 1336 sound/core/timer.c static void snd_timer_user_ccallback(struct snd_timer_instance *timeri, timeri 1341 sound/core/timer.c struct snd_timer_user *tu = timeri->callback_data; timeri 1361 sound/core/timer.c static void snd_timer_user_disconnect(struct snd_timer_instance *timeri) timeri 1363 sound/core/timer.c struct snd_timer_user *tu = timeri->callback_data; timeri 1369 sound/core/timer.c static void snd_timer_user_tinterrupt(struct snd_timer_instance *timeri, timeri 1373 sound/core/timer.c struct snd_timer_user *tu = timeri->callback_data; timeri 1487 sound/core/timer.c if (tu->timeri) timeri 1488 sound/core/timer.c snd_timer_close(tu->timeri); timeri 1727 sound/core/timer.c if (tu->timeri) { timeri 1728 sound/core/timer.c snd_timer_close(tu->timeri); timeri 1729 sound/core/timer.c tu->timeri = NULL; timeri 1738 sound/core/timer.c err = snd_timer_open(&tu->timeri, str, &tselect.id, current->pid); timeri 1742 sound/core/timer.c tu->timeri->flags |= SNDRV_TIMER_IFLG_FAST; timeri 1743 sound/core/timer.c tu->timeri->callback = tu->tread timeri 1745 sound/core/timer.c tu->timeri->ccallback = snd_timer_user_ccallback; timeri 1746 sound/core/timer.c tu->timeri->callback_data = (void *)tu; timeri 1747 sound/core/timer.c tu->timeri->disconnect = snd_timer_user_disconnect; timeri 1762 sound/core/timer.c if (!tu->timeri) timeri 1764 sound/core/timer.c t = tu->timeri->timer; timeri 1792 sound/core/timer.c if (!tu->timeri) timeri 1794 sound/core/timer.c t = tu->timeri->timer; timeri 1808 sound/core/timer.c resolution = snd_timer_resolution(tu->timeri); timeri 1837 sound/core/timer.c snd_timer_stop(tu->timeri); timeri 1839 sound/core/timer.c tu->timeri->flags &= ~(SNDRV_TIMER_IFLG_AUTO| timeri 1843 sound/core/timer.c tu->timeri->flags |= SNDRV_TIMER_IFLG_AUTO; timeri 1845 sound/core/timer.c tu->timeri->flags |= SNDRV_TIMER_IFLG_EXCLUSIVE; timeri 1847 sound/core/timer.c tu->timeri->flags |= SNDRV_TIMER_IFLG_EARLY_EVENT; timeri 1857 sound/core/timer.c if (tu->timeri->flags & SNDRV_TIMER_IFLG_EARLY_EVENT) { timeri 1891 sound/core/timer.c if (!tu->timeri) timeri 1895 sound/core/timer.c status.resolution = snd_timer_resolution(tu->timeri); timeri 1896 sound/core/timer.c status.lost = tu->timeri->lost; timeri 1912 sound/core/timer.c if (!tu->timeri) timeri 1914 sound/core/timer.c snd_timer_stop(tu->timeri); timeri 1915 sound/core/timer.c tu->timeri->lost = 0; timeri 1917 sound/core/timer.c err = snd_timer_start(tu->timeri, tu->ticks); timeri 1929 sound/core/timer.c if (!tu->timeri) timeri 1931 sound/core/timer.c err = snd_timer_stop(tu->timeri); timeri 1943 sound/core/timer.c if (!tu->timeri) timeri 1946 sound/core/timer.c if (!(tu->timeri->flags & SNDRV_TIMER_IFLG_PAUSED)) timeri 1948 sound/core/timer.c tu->timeri->lost = 0; timeri 1949 sound/core/timer.c err = snd_timer_continue(tu->timeri); timeri 1961 sound/core/timer.c if (!tu->timeri) timeri 1963 sound/core/timer.c err = snd_timer_pause(tu->timeri); timeri 1993 sound/core/timer.c if (tu->timeri) /* too late */ timeri 55 sound/core/timer_compat.c if (!tu->timeri) timeri 57 sound/core/timer_compat.c t = tu->timeri->timer; timeri 88 sound/core/timer_compat.c if (!tu->timeri) timeri 93 sound/core/timer_compat.c status.resolution = snd_timer_resolution(tu->timeri); timeri 94 sound/core/timer_compat.c status.lost = tu->timeri->lost;