diff options
Diffstat (limited to 'sys/dev/sound/pci/via82c686.c')
| -rw-r--r-- | sys/dev/sound/pci/via82c686.c | 42 |
1 files changed, 21 insertions, 21 deletions
diff --git a/sys/dev/sound/pci/via82c686.c b/sys/dev/sound/pci/via82c686.c index 40f3521a57a2..fe34583b1a25 100644 --- a/sys/dev/sound/pci/via82c686.c +++ b/sys/dev/sound/pci/via82c686.c @@ -90,7 +90,7 @@ struct via_info { struct via_chinfo pch, rch; struct via_dma_op *sgd_table; u_int16_t codec_caps; - struct mtx *lock; + struct mtx lock; }; static u_int32_t via_fmt[] = { @@ -226,8 +226,8 @@ via_buildsgdt(struct via_chinfo *ch) * is feeding. */ seg_size = ch->blksz; - segs = sndbuf_getsize(ch->buffer) / seg_size; - phys_addr = sndbuf_getbufaddr(ch->buffer); + segs = ch->buffer->bufsize / seg_size; + phys_addr = ch->buffer->buf_addr; for (i = 0; i < segs; i++) { flag = (i == segs - 1)? VIA_DMAOP_EOL : VIA_DMAOP_FLAG; @@ -245,7 +245,7 @@ viachan_init(kobj_t obj, void *devinfo, struct snd_dbuf *b, struct pcm_channel * struct via_info *via = devinfo; struct via_chinfo *ch; - snd_mtxlock(via->lock); + mtx_lock(&via->lock); if (dir == PCMDIR_PLAY) { ch = &via->pch; ch->base = VIA_PLAY_DMAOPS_BASE; @@ -268,7 +268,7 @@ viachan_init(kobj_t obj, void *devinfo, struct snd_dbuf *b, struct pcm_channel * ch->channel = c; ch->buffer = b; ch->dir = dir; - snd_mtxunlock(via->lock); + mtx_unlock(&via->lock); if (sndbuf_alloc(ch->buffer, via->parent_dmat, 0, via->bufsz) != 0) return NULL; @@ -290,12 +290,12 @@ viachan_setformat(kobj_t obj, void *data, u_int32_t format) mode_set |= VIA_RPMODE_16BIT; DEB(printf("set format: dir = %d, format=%x\n", ch->dir, format)); - snd_mtxlock(via->lock); + mtx_lock(&via->lock); mode = via_rd(via, ch->mode, 1); mode &= ~(VIA_RPMODE_16BIT | VIA_RPMODE_STEREO); mode |= mode_set; via_wr(via, ch->mode, mode, 1); - snd_mtxunlock(via->lock); + mtx_unlock(&via->lock); return 0; } @@ -346,14 +346,14 @@ viachan_trigger(kobj_t obj, void *data, int go) DEB(printf("ado located at va=%p pa=%x\n", ch->sgd_table, sgd_addr)); - snd_mtxlock(via->lock); + mtx_lock(&via->lock); if (go == PCMTRIG_START) { via_buildsgdt(ch); via_wr(via, ch->base, sgd_addr, 4); via_wr(via, ch->ctrl, VIA_RPCTRL_START, 1); } else via_wr(via, ch->ctrl, VIA_RPCTRL_TERMINATE, 1); - snd_mtxunlock(via->lock); + mtx_unlock(&via->lock); DEB(printf("viachan_trigger: go=%d\n", go)); return 0; @@ -367,13 +367,13 @@ viachan_getptr(kobj_t obj, void *data) bus_addr_t sgd_addr = ch->sgd_addr; u_int32_t ptr, base, base1, len, seg; - snd_mtxlock(via->lock); + mtx_lock(&via->lock); base1 = via_rd(via, ch->base, 4); len = via_rd(via, ch->count, 4); base = via_rd(via, ch->base, 4); if (base != base1) /* Avoid race hazard */ len = via_rd(via, ch->count, 4); - snd_mtxunlock(via->lock); + mtx_unlock(&via->lock); DEB(printf("viachan_getptr: len / base = %x / %x\n", len, base)); @@ -385,7 +385,7 @@ viachan_getptr(kobj_t obj, void *data) seg = SEGS_PER_CHAN; /* Now work out offset: seg less count */ - ptr = (seg * sndbuf_getsize(ch->buffer) / SEGS_PER_CHAN) - len; + ptr = (seg * ch->buffer->bufsize / SEGS_PER_CHAN) - len; if (ch->dir == PCMDIR_REC) { /* DMA appears to operate on memory 'lines' of 32 bytes */ /* so don't return any part line - it isn't in RAM yet */ @@ -426,22 +426,22 @@ via_intr(void *p) /* DEB(printf("viachan_intr\n")); */ /* Read channel */ - snd_mtxlock(via->lock); + mtx_lock(&via->lock); if (via_rd(via, VIA_PLAY_STAT, 1) & VIA_RPSTAT_INTR) { via_wr(via, VIA_PLAY_STAT, VIA_RPSTAT_INTR, 1); - snd_mtxunlock(via->lock); + mtx_unlock(&via->lock); chn_intr(via->pch.channel); - snd_mtxlock(via->lock); + mtx_lock(&via->lock); } /* Write channel */ if (via_rd(via, VIA_RECORD_STAT, 1) & VIA_RPSTAT_INTR) { via_wr(via, VIA_RECORD_STAT, VIA_RPSTAT_INTR, 1); - snd_mtxunlock(via->lock); + mtx_unlock(&via->lock); chn_intr(via->rch.channel); return; } - snd_mtxunlock(via->lock); + mtx_unlock(&via->lock); } /* @@ -472,8 +472,8 @@ via_attach(device_t dev) u_int32_t data, cnt; via = malloc(sizeof(*via), M_DEVBUF, M_WAITOK | M_ZERO); - via->lock = snd_mtxcreate(device_get_nameunit(dev), - "snd_via82c686 softc"); + mtx_init(&via->lock, device_get_nameunit(dev), "snd_via82c686 softc", + MTX_DEF); pci_enable_busmaster(dev); @@ -600,7 +600,7 @@ bad: if (via->sgd_addr) bus_dmamap_unload(via->sgd_dmat, via->sgd_dmamap); if (via->sgd_table) bus_dmamem_free(via->sgd_dmat, via->sgd_table, via->sgd_dmamap); if (via->sgd_dmat) bus_dma_tag_destroy(via->sgd_dmat); - if (via->lock) snd_mtxfree(via->lock); + mtx_destroy(&via->lock); if (via) free(via, M_DEVBUF); return ENXIO; } @@ -623,7 +623,7 @@ via_detach(device_t dev) bus_dmamap_unload(via->sgd_dmat, via->sgd_dmamap); bus_dmamem_free(via->sgd_dmat, via->sgd_table, via->sgd_dmamap); bus_dma_tag_destroy(via->sgd_dmat); - snd_mtxfree(via->lock); + mtx_destroy(&via->lock); free(via, M_DEVBUF); return 0; } |
