Lines Matching refs:isc
152 ad1848_isa_mapprobe(struct ad1848_isa_softc *isc, int iobase) in ad1848_isa_mapprobe() argument
156 sc = &isc->sc_ad1848; in ad1848_isa_mapprobe()
168 if (!ad1848_isa_probe(isc)) { in ad1848_isa_mapprobe()
179 ad1848_isa_probe(struct ad1848_isa_softc *isc) in ad1848_isa_probe() argument
185 sc = &isc->sc_ad1848; in ad1848_isa_probe()
427 ad1848_isa_unmap(struct ad1848_isa_softc *isc) in ad1848_isa_unmap() argument
431 sc = &isc->sc_ad1848; in ad1848_isa_unmap()
440 ad1848_isa_attach(struct ad1848_isa_softc *isc) in ad1848_isa_attach() argument
445 sc = &isc->sc_ad1848; in ad1848_isa_attach()
449 if (isc->sc_playdrq != -1) { in ad1848_isa_attach()
450 isc->sc_play_maxsize = isa_dmamaxsize(isc->sc_ic, in ad1848_isa_attach()
451 isc->sc_playdrq); in ad1848_isa_attach()
452 error = isa_dmamap_create(isc->sc_ic, isc->sc_playdrq, in ad1848_isa_attach()
453 isc->sc_play_maxsize, BUS_DMA_NOWAIT|BUS_DMA_ALLOCNOW); in ad1848_isa_attach()
456 isc->sc_playdrq); in ad1848_isa_attach()
460 if (isc->sc_recdrq != -1 && isc->sc_recdrq != isc->sc_playdrq) { in ad1848_isa_attach()
461 isc->sc_rec_maxsize = isa_dmamaxsize(isc->sc_ic, in ad1848_isa_attach()
462 isc->sc_recdrq); in ad1848_isa_attach()
463 error = isa_dmamap_create(isc->sc_ic, isc->sc_recdrq, in ad1848_isa_attach()
464 isc->sc_rec_maxsize, BUS_DMA_NOWAIT|BUS_DMA_ALLOCNOW); in ad1848_isa_attach()
467 isc->sc_recdrq); in ad1848_isa_attach()
468 isa_dmamap_destroy(isc->sc_ic, isc->sc_playdrq); in ad1848_isa_attach()
479 struct ad1848_isa_softc *isc; in ad1848_isa_open() local
483 isc = addr; in ad1848_isa_open()
484 sc = &isc->sc_ad1848; in ad1848_isa_open()
485 DPRINTF(("ad1848_isa_open: sc=%p\n", isc)); in ad1848_isa_open()
488 if (isc->sc_playdrq != -1) { in ad1848_isa_open()
489 error = isa_drq_alloc(isc->sc_ic, isc->sc_playdrq); in ad1848_isa_open()
494 if (isc->sc_recdrq != -1 && isc->sc_recdrq != isc->sc_playdrq) { in ad1848_isa_open()
495 error = isa_drq_alloc(isc->sc_ic, isc->sc_recdrq); in ad1848_isa_open()
503 if (isc->powerctl) { in ad1848_isa_open()
505 isc->powerctl(isc->powerarg, flags); in ad1848_isa_open()
515 if (isc->powerctl) { in ad1848_isa_open()
517 isc->powerctl(isc->powerarg, 0); in ad1848_isa_open()
528 isa_drq_free(isc->sc_ic, isc->sc_playdrq); in ad1848_isa_open()
530 isa_drq_free(isc->sc_ic, isc->sc_recdrq); in ad1848_isa_open()
538 struct ad1848_isa_softc *isc; in ad1848_isa_close() local
542 isc = addr; in ad1848_isa_close()
543 sc = &isc->sc_ad1848; in ad1848_isa_close()
548 if (isc->powerctl) { in ad1848_isa_close()
550 isc->powerctl(isc->powerarg, 0); in ad1848_isa_close()
554 if (isc->sc_playdrq != -1) in ad1848_isa_close()
555 isa_drq_free(isc->sc_ic, isc->sc_playdrq); in ad1848_isa_close()
556 if (isc->sc_recdrq != -1 && isc->sc_recdrq != isc->sc_playdrq) in ad1848_isa_close()
557 isa_drq_free(isc->sc_ic, isc->sc_recdrq); in ad1848_isa_close()
569 struct ad1848_isa_softc *isc; in ad1848_isa_trigger_input() local
573 isc = addr; in ad1848_isa_trigger_input()
574 sc = &isc->sc_ad1848; in ad1848_isa_trigger_input()
575 isa_dmastart(isc->sc_ic, isc->sc_recdrq, start, in ad1848_isa_trigger_input()
579 isc->sc_recrun = 1; in ad1848_isa_trigger_input()
580 if (sc->mode == 2 && isc->sc_playdrq != isc->sc_recdrq) { in ad1848_isa_trigger_input()
581 isc->sc_rintr = intr; in ad1848_isa_trigger_input()
582 isc->sc_rarg = arg; in ad1848_isa_trigger_input()
584 isc->sc_pintr = intr; in ad1848_isa_trigger_input()
585 isc->sc_parg = arg; in ad1848_isa_trigger_input()
618 struct ad1848_isa_softc *isc; in ad1848_isa_trigger_output() local
622 isc = addr; in ad1848_isa_trigger_output()
623 sc = &isc->sc_ad1848; in ad1848_isa_trigger_output()
624 isa_dmastart(isc->sc_ic, isc->sc_playdrq, start, in ad1848_isa_trigger_output()
628 isc->sc_playrun = 1; in ad1848_isa_trigger_output()
629 isc->sc_pintr = intr; in ad1848_isa_trigger_output()
630 isc->sc_parg = arg; in ad1848_isa_trigger_output()
654 struct ad1848_isa_softc *isc; in ad1848_isa_halt_input() local
657 isc = addr; in ad1848_isa_halt_input()
658 sc = &isc->sc_ad1848; in ad1848_isa_halt_input()
659 if (isc->sc_recrun) { in ad1848_isa_halt_input()
661 isa_dmaabort(isc->sc_ic, isc->sc_recdrq); in ad1848_isa_halt_input()
662 isc->sc_recrun = 0; in ad1848_isa_halt_input()
671 struct ad1848_isa_softc *isc; in ad1848_isa_halt_output() local
674 isc = addr; in ad1848_isa_halt_output()
675 sc = &isc->sc_ad1848; in ad1848_isa_halt_output()
676 if (isc->sc_playrun) { in ad1848_isa_halt_output()
681 isa_dmaabort(isc->sc_ic, isc->sc_playdrq); in ad1848_isa_halt_output()
682 isc->sc_playrun = 0; in ad1848_isa_halt_output()
691 struct ad1848_isa_softc *isc; in ad1848_isa_intr() local
696 isc = arg; in ad1848_isa_intr()
697 sc = &isc->sc_ad1848; in ad1848_isa_intr()
708 isc->sc_pintr, isc->sc_rintr, status); in ad1848_isa_intr()
710 isc->sc_interrupts++; in ad1848_isa_intr()
714 if (sc->mode == 2 && isc->sc_playdrq != isc->sc_recdrq) { in ad1848_isa_intr()
716 if ((status & CS_IRQ_PI) && isc->sc_playrun) { in ad1848_isa_intr()
717 (*isc->sc_pintr)(isc->sc_parg); in ad1848_isa_intr()
720 if ((status & CS_IRQ_CI) && isc->sc_recrun) { in ad1848_isa_intr()
721 (*isc->sc_rintr)(isc->sc_rarg); in ad1848_isa_intr()
725 if (isc->sc_playrun) { in ad1848_isa_intr()
726 (*isc->sc_pintr)(isc->sc_parg); in ad1848_isa_intr()
743 struct ad1848_isa_softc *isc; in ad1848_isa_malloc() local
746 isc = addr; in ad1848_isa_malloc()
748 drq = isc->sc_playdrq; in ad1848_isa_malloc()
750 drq = isc->sc_recdrq; in ad1848_isa_malloc()
751 return isa_malloc(isc->sc_ic, drq, size, M_DEVBUF, M_WAITOK); in ad1848_isa_malloc()
764 struct ad1848_isa_softc *isc; in ad1848_isa_round_buffersize() local
767 isc = addr; in ad1848_isa_round_buffersize()
769 maxsize = isc->sc_play_maxsize; in ad1848_isa_round_buffersize()
770 else if (isc->sc_recdrq == isc->sc_playdrq) in ad1848_isa_round_buffersize()
771 maxsize = isc->sc_play_maxsize; in ad1848_isa_round_buffersize()
773 maxsize = isc->sc_rec_maxsize; in ad1848_isa_round_buffersize()
783 struct ad1848_isa_softc *isc; in ad1848_isa_get_props() local
785 isc = addr; in ad1848_isa_get_props()
787 (isc->sc_playdrq != isc->sc_recdrq ? AUDIO_PROP_FULLDUPLEX : 0); in ad1848_isa_get_props()