• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-WNDR4500v2-V1.0.0.60_1.0.38/src/linux/linux-2.6/sound/oss/emu10k1/

Lines Matching refs:wiinst

51 static void calculate_ifrag(struct wiinst *);
60 struct wiinst *wiinst = wave_dev->wiinst;
69 spin_lock_irqsave(&wiinst->lock, flags);
71 if (wiinst->mmapped) {
72 spin_unlock_irqrestore(&wiinst->lock, flags);
76 if (wiinst->state == WAVE_STATE_CLOSED) {
77 calculate_ifrag(wiinst);
80 spin_unlock_irqrestore(&wiinst->lock, flags);
90 spin_lock_irqsave(&wiinst->lock, flags);
94 spin_unlock_irqrestore(&wiinst->lock, flags);
99 spin_lock_irqsave(&wiinst->lock, flags);
101 if (!(wiinst->state & WAVE_STATE_STARTED)
105 emu10k1_wavein_update(wave_dev->card, wiinst);
106 emu10k1_wavein_getxfersize(wiinst, &bytestocopy);
108 spin_unlock_irqrestore(&wiinst->lock, flags);
112 if ((bytestocopy >= wiinst->buffer.fragment_size)
118 rc = emu10k1_wavein_xferdata(wiinst,
134 interruptible_sleep_on(&wiinst->wait_queue);
257 struct wiinst *wiinst = NULL;
269 wiinst = wave_dev->wiinst;
296 spin_lock_irqsave(&wiinst->lock, flags);
298 if (wiinst->state & WAVE_STATE_OPEN) {
302 wiinst->mmapped = 0;
303 wiinst->total_recorded = 0;
304 wiinst->blocks = 0;
305 spin_unlock_irqrestore(&wiinst->lock, flags);
338 spin_lock_irqsave(&wiinst->lock, flags);
340 if (wiinst->state & WAVE_STATE_OPEN) {
344 wiinst->mmapped = 0;
345 wiinst->total_recorded = 0;
346 wiinst->blocks = 0;
347 spin_unlock_irqrestore(&wiinst->lock, flags);
373 spin_lock_irqsave(&wiinst->lock, flags);
375 format = wiinst->format;
379 spin_unlock_irqrestore(&wiinst->lock, flags);
383 val = wiinst->format.samplingrate;
385 spin_unlock_irqrestore(&wiinst->lock, flags);
413 val = wiinst->format.samplingrate;
432 spin_lock_irqsave(&wiinst->lock, flags);
434 format = wiinst->format;
438 spin_unlock_irqrestore(&wiinst->lock, flags);
442 val = wiinst->format.channels - 1;
444 spin_unlock_irqrestore(&wiinst->lock, flags);
484 spin_lock_irqsave(&wiinst->lock, flags);
486 format = wiinst->format;
490 spin_unlock_irqrestore(&wiinst->lock, flags);
493 val = wiinst->format.channels;
495 spin_unlock_irqrestore(&wiinst->lock, flags);
521 val = wiinst->format.channels;
555 spin_lock_irqsave(&wiinst->lock, flags);
557 format = wiinst->format;
561 spin_unlock_irqrestore(&wiinst->lock, flags);
565 val = wiinst->format.id;
567 spin_unlock_irqrestore(&wiinst->lock, flags);
593 val = wiinst->format.id;
604 val = wiinst->format.bitsperchannel;
613 val = wiinst->format.samplingrate;
622 val = wiinst->format.channels;
674 spin_lock_irqsave(&wiinst->lock, flags);
678 if (wiinst->state & WAVE_STATE_OPEN)
682 if (wiinst->state & WAVE_STATE_STARTED)
686 spin_unlock_irqrestore(&wiinst->lock, flags);
730 spin_lock_irqsave(&wiinst->lock, flags);
731 if (wiinst->state & WAVE_STATE_OPEN) {
732 emu10k1_wavein_update(wave_dev->card, wiinst);
733 emu10k1_wavein_getxfersize(wiinst, &bytestocopy);
736 calculate_ifrag(wiinst);
739 spin_unlock_irqrestore(&wiinst->lock, flags);
741 info.fragstotal = wiinst->buffer.numfrags;
742 info.fragments = info.bytes / wiinst->buffer.fragment_size;
743 info.fragsize = wiinst->buffer.fragment_size;
784 spin_lock_irqsave(&wiinst->lock, flags);
786 if (wiinst->state & WAVE_STATE_OPEN) {
787 emu10k1_wavein_update(wave_dev->card, wiinst);
788 cinfo.ptr = wiinst->buffer.hw_pos;
789 cinfo.bytes = cinfo.ptr + wiinst->total_recorded - wiinst->total_recorded % wiinst->buffer.size;
790 cinfo.blocks = cinfo.bytes / wiinst->buffer.fragment_size - wiinst->blocks;
791 wiinst->blocks = cinfo.bytes / wiinst->buffer.fragment_size;
798 if (wiinst->mmapped)
799 wiinst->buffer.bytestocopy %= wiinst->buffer.fragment_size;
801 spin_unlock_irqrestore(&wiinst->lock, flags);
867 spin_lock_irqsave(&wiinst->lock, flags);
869 calculate_ifrag(wiinst);
870 val = wiinst->buffer.fragment_size;
872 spin_unlock_irqrestore(&wiinst->lock, flags);
918 if (wiinst->state & WAVE_STATE_OPEN)
921 wiinst->buffer.ossfragshift = val & 0xffff;
922 wiinst->buffer.numfrags = (val >> 16) & 0xffff;
1001 struct wiinst *wiinst = wave_dev->wiinst;
1020 if (wiinst != NULL)
1021 rd = wiinst->mmapped;
1030 dmapage = virt_to_page ((u8 *) wiinst->buffer.addr + pgoff * PAGE_SIZE);
1034 dmapage = virt_to_page ((u8 *) wiinst->buffer.addr + pgoff * PAGE_SIZE);
1054 struct wiinst *wiinst = NULL;
1087 wiinst = wave_dev->wiinst;
1089 spin_lock_irqsave(&wiinst->lock, flags);
1090 if (wiinst->state == WAVE_STATE_CLOSED) {
1091 calculate_ifrag(wiinst);
1094 spin_unlock_irqrestore(&wiinst->lock, flags);
1100 wiinst->mmapped = 1;
1101 max_pages += wiinst->buffer.pages;
1102 spin_unlock_irqrestore(&wiinst->lock, flags);
1150 wave_dev->wiinst = NULL;
1156 struct wiinst *wiinst;
1158 if ((wiinst = kmalloc(sizeof(struct wiinst), GFP_KERNEL)) == NULL) {
1164 wiinst->recsrc = card->wavein.recsrc;
1165 wiinst->fxwc = card->wavein.fxwc;
1167 switch (wiinst->recsrc) {
1169 wiinst->format.id = AFMT_S16_LE;
1170 wiinst->format.samplingrate = 8000;
1171 wiinst->format.bitsperchannel = 16;
1172 wiinst->format.channels = 1;
1175 wiinst->format.id = AFMT_S16_LE;
1176 wiinst->format.samplingrate = 8000;
1177 wiinst->format.bitsperchannel = 16;
1178 wiinst->format.channels = 1;
1181 wiinst->format.id = AFMT_S16_LE;
1182 wiinst->format.samplingrate = 48000;
1183 wiinst->format.bitsperchannel = 16;
1184 wiinst->format.channels = hweight32(wiinst->fxwc);
1188 kfree(wiinst);
1193 wiinst->state = WAVE_STATE_CLOSED;
1195 wiinst->buffer.ossfragshift = 0;
1196 wiinst->buffer.fragment_size = 0;
1197 wiinst->buffer.numfrags = 0;
1199 init_waitqueue_head(&wiinst->wait_queue);
1201 wiinst->mmapped = 0;
1202 wiinst->total_recorded = 0;
1203 wiinst->blocks = 0;
1204 spin_lock_init(&wiinst->lock);
1205 tasklet_init(&wiinst->timer.tasklet, emu10k1_wavein_bh, (unsigned long) wave_dev);
1206 wave_dev->wiinst = wiinst;
1207 emu10k1_wavein_setformat(wave_dev, &wiinst->format);
1220 if (wave_dev->wiinst != NULL) {
1221 woinst->format = wave_dev->wiinst->format;
1302 struct wiinst *wiinst = wave_dev->wiinst;
1304 spin_lock_irqsave(&wiinst->lock, flags);
1306 if (wiinst->state & WAVE_STATE_OPEN) {
1310 spin_unlock_irqrestore(&wiinst->lock, flags);
1311 tasklet_kill(&wiinst->timer.tasklet);
1312 kfree(wave_dev->wiinst);
1327 struct wiinst *wiinst = wave_dev->wiinst;
1338 poll_wait(file, &wiinst->wait_queue, wait);
1356 spin_lock_irqsave(&wiinst->lock, flags);
1358 if (wiinst->state & WAVE_STATE_OPEN) {
1359 emu10k1_wavein_update(wave_dev->card, wiinst);
1360 emu10k1_wavein_getxfersize(wiinst, &bytestocopy);
1362 if (bytestocopy >= wiinst->buffer.fragment_size)
1366 spin_unlock_irqrestore(&wiinst->lock, flags);
1433 static void calculate_ifrag(struct wiinst *wiinst)
1435 struct wavein_buffer *buffer = &wiinst->buffer;
1443 fragsize = (wiinst->format.bytespersec * WAVEIN_DEFAULTFRAGLEN) / 1000 - 1;
1465 buffer->numfrags = (wiinst->format.bytespersec * WAVEIN_DEFAULTBUFLEN) / (buffer->fragment_size * 1000) - 1;
1521 struct wiinst *wiinst = wave_dev->wiinst;
1525 if (!wiinst)
1528 spin_lock_irqsave(&wiinst->lock, flags);
1530 if (!(wiinst->state & WAVE_STATE_STARTED)) {
1531 spin_unlock_irqrestore(&wiinst->lock, flags);
1535 emu10k1_wavein_update(wave_dev->card, wiinst);
1536 emu10k1_wavein_getxfersize(wiinst, &bytestocopy);
1538 spin_unlock_irqrestore(&wiinst->lock, flags);
1540 if (bytestocopy >= wiinst->buffer.fragment_size) {
1541 if (waitqueue_active(&wiinst->wait_queue))
1542 wake_up_interruptible(&wiinst->wait_queue);