Home | History | Annotate | Download | only in isa

Lines Matching refs:isc

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