• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/sound/core/

Lines Matching defs:tu

1115 	struct snd_timer_user *tu = timeri->callback_data;
1119 spin_lock(&tu->qlock);
1120 if (tu->qused > 0) {
1121 prev = tu->qtail == 0 ? tu->queue_size - 1 : tu->qtail - 1;
1122 r = &tu->queue[prev];
1128 if (tu->qused >= tu->queue_size) {
1129 tu->overrun++;
1131 r = &tu->queue[tu->qtail++];
1132 tu->qtail %= tu->queue_size;
1135 tu->qused++;
1138 spin_unlock(&tu->qlock);
1139 kill_fasync(&tu->fasync, SIGIO, POLL_IN);
1140 wake_up(&tu->qchange_sleep);
1143 static void snd_timer_user_append_to_tqueue(struct snd_timer_user *tu,
1146 if (tu->qused >= tu->queue_size) {
1147 tu->overrun++;
1149 memcpy(&tu->tqueue[tu->qtail++], tread, sizeof(*tread));
1150 tu->qtail %= tu->queue_size;
1151 tu->qused++;
1160 struct snd_timer_user *tu = timeri->callback_data;
1166 tu->tstamp = *tstamp;
1167 if ((tu->filter & (1 << event)) == 0 || !tu->tread)
1172 spin_lock_irqsave(&tu->qlock, flags);
1173 snd_timer_user_append_to_tqueue(tu, &r1);
1174 spin_unlock_irqrestore(&tu->qlock, flags);
1175 kill_fasync(&tu->fasync, SIGIO, POLL_IN);
1176 wake_up(&tu->qchange_sleep);
1183 struct snd_timer_user *tu = timeri->callback_data;
1189 spin_lock(&tu->qlock);
1190 if ((tu->filter & ((1 << SNDRV_TIMER_EVENT_RESOLUTION) |
1192 spin_unlock(&tu->qlock);
1195 if (tu->last_resolution != resolution || ticks > 0) {
1201 if ((tu->filter & (1 << SNDRV_TIMER_EVENT_RESOLUTION)) &&
1202 tu->last_resolution != resolution) {
1206 snd_timer_user_append_to_tqueue(tu, &r1);
1207 tu->last_resolution = resolution;
1210 if ((tu->filter & (1 << SNDRV_TIMER_EVENT_TICK)) == 0)
1214 if (tu->qused > 0) {
1215 prev = tu->qtail == 0 ? tu->queue_size - 1 : tu->qtail - 1;
1216 r = &tu->tqueue[prev];
1227 snd_timer_user_append_to_tqueue(tu, &r1);
1230 spin_unlock(&tu->qlock);
1233 kill_fasync(&tu->fasync, SIGIO, POLL_IN);
1234 wake_up(&tu->qchange_sleep);
1239 struct snd_timer_user *tu;
1246 tu = kzalloc(sizeof(*tu), GFP_KERNEL);
1247 if (tu == NULL)
1249 spin_lock_init(&tu->qlock);
1250 init_waitqueue_head(&tu->qchange_sleep);
1251 mutex_init(&tu->tread_sem);
1252 tu->ticks = 1;
1253 tu->queue_size = 128;
1254 tu->queue = kmalloc(tu->queue_size * sizeof(struct snd_timer_read),
1256 if (tu->queue == NULL) {
1257 kfree(tu);
1260 file->private_data = tu;
1266 struct snd_timer_user *tu;
1269 tu = file->private_data;
1271 if (tu->timeri)
1272 snd_timer_close(tu->timeri);
1273 kfree(tu->queue);
1274 kfree(tu->tqueue);
1275 kfree(tu);
1504 struct snd_timer_user *tu;
1509 tu = file->private_data;
1510 mutex_lock(&tu->tread_sem);
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);
1526 kfree(tu->queue);
1527 tu->queue = NULL;
1528 kfree(tu->tqueue);
1529 tu->tqueue = NULL;
1530 if (tu->tread) {
1531 tu->tqueue = kmalloc(tu->queue_size * sizeof(struct snd_timer_tread),
1533 if (tu->tqueue == NULL)
1536 tu->queue = kmalloc(tu->queue_size * sizeof(struct snd_timer_read),
1538 if (tu->queue == NULL)
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;
1554 mutex_unlock(&tu->tread_sem);
1561 struct snd_timer_user *tu;
1566 tu = file->private_data;
1567 if (!tu->timeri)
1569 t = tu->timeri->timer;
1591 struct snd_timer_user *tu;
1598 tu = file->private_data;
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;
1645 (unsigned int)tu->queue_size != params.queue_size) {
1646 if (tu->tread) {
1650 kfree(tu->tqueue);
1651 tu->queue_size = params.queue_size;
1652 tu->tqueue = ttr;
1658 kfree(tu->queue);
1659 tu->queue_size = params.queue_size;
1660 tu->queue = tr;
1664 tu->qhead = tu->qtail = tu->qused = 0;
1665 if (tu->timeri->flags & SNDRV_TIMER_IFLG_EARLY_EVENT) {
1666 if (tu->tread) {
1672 snd_timer_user_append_to_tqueue(tu, &tread);
1674 struct snd_timer_read *r = &tu->queue[0];
1677 tu->qused++;
1678 tu->qtail++;
1681 tu->filter = params.filter;
1682 tu->ticks = params.ticks;
1693 struct snd_timer_user *tu;
1696 tu = file->private_data;
1697 if (!tu->timeri)
1700 status.tstamp = tu->tstamp;
1701 status.resolution = snd_timer_resolution(tu->timeri);
1702 status.lost = tu->timeri->lost;
1703 status.overrun = tu->overrun;
1704 spin_lock_irq(&tu->qlock);
1705 status.queue = tu->qused;
1706 spin_unlock_irq(&tu->qlock);
1715 struct snd_timer_user *tu;
1717 tu = file->private_data;
1718 if (!tu->timeri)
1720 snd_timer_stop(tu->timeri);
1721 tu->timeri->lost = 0;
1722 tu->last_resolution = 0;
1723 return (err = snd_timer_start(tu->timeri, tu->ticks)) < 0 ? err : 0;
1729 struct snd_timer_user *tu;
1731 tu = file->private_data;
1732 if (!tu->timeri)
1734 return (err = snd_timer_stop(tu->timeri)) < 0 ? err : 0;
1740 struct snd_timer_user *tu;
1742 tu = file->private_data;
1743 if (!tu->timeri)
1745 tu->timeri->lost = 0;
1746 return (err = snd_timer_continue(tu->timeri)) < 0 ? err : 0;
1752 struct snd_timer_user *tu;
1754 tu = file->private_data;
1755 if (!tu->timeri)
1757 return (err = snd_timer_pause(tu->timeri)) < 0 ? err : 0;
1770 struct snd_timer_user *tu;
1774 tu = file->private_data;
1784 mutex_lock(&tu->tread_sem);
1785 if (tu->timeri) { /* too late */
1786 mutex_unlock(&tu->tread_sem);
1790 mutex_unlock(&tu->tread_sem);
1793 tu->tread = xarg ? 1 : 0;
1794 mutex_unlock(&tu->tread_sem);
1829 struct snd_timer_user *tu;
1831 tu = file->private_data;
1832 return fasync_helper(fd, file, on, &tu->fasync);
1838 struct snd_timer_user *tu;
1842 tu = file->private_data;
1843 unit = tu->tread ? sizeof(struct snd_timer_tread) : sizeof(struct snd_timer_read);
1844 spin_lock_irq(&tu->qlock);
1846 while (!tu->qused) {
1856 add_wait_queue(&tu->qchange_sleep, &wait);
1858 spin_unlock_irq(&tu->qlock);
1860 spin_lock_irq(&tu->qlock);
1862 remove_wait_queue(&tu->qchange_sleep, &wait);
1870 spin_unlock_irq(&tu->qlock);
1874 if (tu->tread) {
1875 if (copy_to_user(buffer, &tu->tqueue[tu->qhead++],
1881 if (copy_to_user(buffer, &tu->queue[tu->qhead++],
1888 tu->qhead %= tu->queue_size;
1893 spin_lock_irq(&tu->qlock);
1894 tu->qused--;
1896 spin_unlock_irq(&tu->qlock);
1904 struct snd_timer_user *tu;
1906 tu = file->private_data;
1908 poll_wait(file, &tu->qchange_sleep, wait);
1911 if (tu->qused)