Home | History | Annotate | Download | only in pci

Lines Matching refs:vc

219 	struct esa_voice *vc;
221 vc = hdl;
223 vc->play.mode = *play;
225 vc->rec.mode = *rec;
233 struct esa_voice *vc;
241 vc = hdl;
242 sc = device_private(vc->parent);
243 p = &vc->play.mode;
244 r = &vc->rec.mode;
250 vc->play.data_offset = ESA_DAC_DATA + (data_bytes * vc->index);
256 vc->play.data_offset + ESA_SRC3_MODE_OFFSET,
263 vc->play.data_offset + ESA_SRC3_WORD_LENGTH_OFFSET,
269 vc->play.data_offset + ESA_CDATA_FREQUENCY, freq);
272 vc->rec.data_offset = ESA_DAC_DATA + (data_bytes * vc->index) +
279 vc->rec.data_offset + ESA_SRC3_MODE_OFFSET,
286 vc->rec.data_offset + ESA_SRC3_WORD_LENGTH_OFFSET,
292 vc->rec.data_offset + ESA_CDATA_FREQUENCY, freq);
308 struct esa_voice *vc;
314 vc = hdl;
315 sc = device_private(vc->parent);
318 if (vc->play.active == 0)
321 vc->play.active = 0;
324 ESA_CDATA_INSTANCE_READY + vc->play.data_offset, 0);
339 sc->mixer_list.indexmap[vc->index]);
341 esa_remove_list(vc, &sc->mixer_list, vc->index);
342 esa_remove_list(vc, &sc->dma_list, vc->index);
343 esa_remove_list(vc, &sc->msrc_list, vc->index);
351 struct esa_voice *vc;
357 vc = hdl;
358 sc = device_private(vc->parent);
361 if (vc->rec.active == 0)
364 vc->rec.active = 0;
377 esa_write_assp(sc, ESA_MEMTYPE_INTERNAL_DATA, vc->rec.data_offset +
383 esa_remove_list(vc, &sc->adc1_list, vc->index + ESA_NUM_VOICES);
384 esa_remove_list(vc, &sc->dma_list, vc->index + ESA_NUM_VOICES);
385 esa_remove_list(vc, &sc->msrc_list, vc->index + ESA_NUM_VOICES);
393 struct esa_voice *vc;
399 vc = hdl;
400 sc = device_private(vc->parent);
408 p->next = vc->dma;
409 vc->dma = p;
417 struct esa_voice *vc;
422 vc = hdl;
423 sc = device_private(vc->parent);
424 for (pp = &vc->dma; (p = *pp) != NULL; pp = &p->next)
444 struct esa_voice *vc;
447 vc = hdl;
448 sc = device_private(vc->parent);
455 struct esa_voice *vc;
458 vc = hdl;
459 sc = device_private(vc->parent);
466 struct esa_voice *vc;
469 vc = hdl;
470 sc = device_private(vc->parent);
486 struct esa_voice *vc;
496 vc = hdl;
497 sc = device_private(vc->parent);
503 dac_data = ESA_DAC_DATA + (data_bytes * vc->index);
509 if (vc->play.active)
512 for (p = vc->dma; p && KERNADDR(p) != start; p = p->next)
520 vc->play.active = 1;
521 vc->play.intr = intr;
522 vc->play.arg = intrarg;
523 vc->play.pos = 0;
524 vc->play.count = 0;
525 vc->play.buf = start;
526 vc->play.bufsize = size = (size_t)(((char *)end - (char *)start));
527 vc->play.blksize = blksize;
529 vc->play.start = bufaddr;
573 vc->play.mode.sample_rate > 45000 ? 0xff : 0);
586 esa_add_list(vc, &sc->msrc_list, dac_data >> ESA_DP_SHIFT_COUNT,
587 vc->index);
588 esa_add_list(vc, &sc->dma_list, dac_data >> ESA_DP_SHIFT_COUNT,
589 vc->index);
590 esa_add_list(vc, &sc->mixer_list, dac_data >> ESA_DP_SHIFT_COUNT,
591 vc->index);
611 sc->mixer_list.indexmap[vc->index]);
620 struct esa_voice *vc;
630 vc = hdl;
631 sc = device_private(vc->parent);
637 adc_data = ESA_DAC_DATA + (data_bytes * vc->index) + (data_bytes / 2);
643 vc->rec.data_offset = adc_data;
646 if (vc->index > 0)
649 if (vc->rec.active)
652 for (p = vc->dma; p && KERNADDR(p) != start; p = p->next)
660 vc->rec.active = 1;
661 vc->rec.intr = intr;
662 vc->rec.arg = intrarg;
663 vc->rec.pos = 0;
664 vc->rec.count = 0;
665 vc->rec.buf = start;
666 vc->rec.bufsize = size = (size_t)(((char *)end - (char *)start));
667 vc->rec.blksize = blksize;
669 vc->rec.start = bufaddr;
720 esa_add_list(vc, &sc->adc1_list, adc_data >> ESA_DP_SHIFT_COUNT,
721 vc->index + ESA_NUM_VOICES);
722 esa_add_list(vc, &sc->msrc_list, adc_data >> ESA_DP_SHIFT_COUNT,
723 vc->index + ESA_NUM_VOICES);
724 esa_add_list(vc, &sc->dma_list, adc_data >> ESA_DP_SHIFT_COUNT,
725 vc->index + ESA_NUM_VOICES);
753 struct esa_voice *vc;
813 vc = &sc->voice[i];
815 if (vc->play.active) {
816 pos = esa_get_pointer(sc, &vc->play) % vc->play.bufsize;
817 diff = (vc->play.bufsize + pos - vc->play.pos) %
818 vc->play.bufsize;
820 vc->play.pos = pos;
821 vc->play.count += diff;
822 blksize = vc->play.blksize;
824 while (vc->play.count >= blksize) {
825 vc->play.count -= blksize;
826 (*vc->play.intr)(vc->play.arg);
830 if (vc->rec.active) {
831 pos = esa_get_pointer(sc, &vc->rec) % vc->rec.bufsize;
832 diff = (vc->rec.bufsize + pos - vc->rec.pos) %
833 vc->rec.bufsize;
835 vc->rec.pos = pos;
836 vc->rec.count += diff;
837 blksize = vc->rec.blksize;
839 while (vc->rec.count >= blksize) {
840 vc->rec.count -= blksize;
841 (*vc->rec.intr)(vc->rec.arg);
1261 struct esa_voice *vc;
1340 vc = &sc->voice[i];
1341 vc->play.data_offset = ESA_DAC_DATA + (data_bytes * i);
1342 vc->rec.data_offset = ESA_DAC_DATA + (data_bytes * i * 2);
1541 esa_add_list(struct esa_voice *vc, struct esa_list *el,
1546 sc = device_private(vc->parent);
1556 esa_remove_list(struct esa_voice *vc, struct esa_list *el, int index)
1564 sc = device_private(vc->parent);
1707 struct esa_voice *vc;
1710 vc = addr;
1711 sc = device_private(vc->parent);