aboutsummaryrefslogtreecommitdiff
path: root/sys/arm
diff options
context:
space:
mode:
authorChristos Margiolis <christos@FreeBSD.org>2025-11-11 12:05:34 +0000
committerChristos Margiolis <christos@FreeBSD.org>2025-11-11 12:05:34 +0000
commit78c5026ae13b2d30b479f9bc892ecdb6f5a5bc0b (patch)
tree9a33ed5a09a915046211e173af3fe37081ac732a /sys/arm
parentad28c6a13a45746f32cbc832b3fe58748fae0d19 (diff)
Diffstat (limited to 'sys/arm')
-rw-r--r--sys/arm/allwinner/a10_codec.c2
-rw-r--r--sys/arm/allwinner/aw_i2s.c8
-rw-r--r--sys/arm/broadcom/bcm2835/bcm2835_audio.c9
-rw-r--r--sys/arm/freescale/imx/imx6_ssi.c10
-rw-r--r--sys/arm/freescale/vybrid/vf_sai.c2
5 files changed, 16 insertions, 15 deletions
diff --git a/sys/arm/allwinner/a10_codec.c b/sys/arm/allwinner/a10_codec.c
index 12d389d24243..0a4ba7aa31b2 100644
--- a/sys/arm/allwinner/a10_codec.c
+++ b/sys/arm/allwinner/a10_codec.c
@@ -680,7 +680,7 @@ a10codec_dmaintr(void *priv)
struct a10codec_chinfo *ch = priv;
unsigned bufsize;
- bufsize = sndbuf_getsize(ch->buffer);
+ bufsize = ch->buffer->bufsize;
ch->pos += ch->blocksize;
if (ch->pos >= bufsize)
diff --git a/sys/arm/allwinner/aw_i2s.c b/sys/arm/allwinner/aw_i2s.c
index 87dfb109363f..31c6d9854171 100644
--- a/sys/arm/allwinner/aw_i2s.c
+++ b/sys/arm/allwinner/aw_i2s.c
@@ -530,10 +530,10 @@ aw_i2s_dai_intr(device_t dev, struct snd_dbuf *play_buf, struct snd_dbuf *rec_bu
val = I2S_READ(sc, DA_FSTA);
empty = DA_FSTA_TXE_CNT(val);
count = sndbuf_getready(play_buf);
- size = sndbuf_getsize(play_buf);
+ size = play_buf->bufsize;
readyptr = sndbuf_getreadyptr(play_buf);
- samples = (uint8_t*)sndbuf_getbuf(play_buf);
+ samples = play_buf->buf;
written = 0;
if (empty > count / 2)
empty = count / 2;
@@ -556,9 +556,9 @@ aw_i2s_dai_intr(device_t dev, struct snd_dbuf *play_buf, struct snd_dbuf *rec_bu
available = DA_FSTA_RXA_CNT(val);
count = sndbuf_getfree(rec_buf);
- size = sndbuf_getsize(rec_buf);
+ size = rec_buf->bufsize;
freeptr = sndbuf_getfreeptr(rec_buf);
- samples = (uint8_t*)sndbuf_getbuf(rec_buf);
+ samples = rec_buf->buf;
recorded = 0;
if (available > count / 2)
available = count / 2;
diff --git a/sys/arm/broadcom/bcm2835/bcm2835_audio.c b/sys/arm/broadcom/bcm2835/bcm2835_audio.c
index 2df6ac76124f..06bbc67bd7bd 100644
--- a/sys/arm/broadcom/bcm2835/bcm2835_audio.c
+++ b/sys/arm/broadcom/bcm2835/bcm2835_audio.c
@@ -575,7 +575,7 @@ bcm2835_audio_worker(void *data)
continue;
count = sndbuf_getready(ch->buffer);
- size = sndbuf_getsize(ch->buffer);
+ size = ch->buffer->bufsize;
readyptr = sndbuf_getreadyptr(ch->buffer);
BCM2835_AUDIO_LOCK(sc);
@@ -588,11 +588,12 @@ bcm2835_audio_worker(void *data)
if (count < VCHIQ_AUDIO_PACKET_SIZE)
continue;
- buf = (uint8_t*)sndbuf_getbuf(ch->buffer) + readyptr;
+ buf = ch->buffer->buf + readyptr;
bcm2835_audio_write_samples(ch, buf, count);
BCM2835_AUDIO_LOCK(sc);
- ch->unsubmittedptr = (ch->unsubmittedptr + count) % sndbuf_getsize(ch->buffer);
+ ch->unsubmittedptr = (ch->unsubmittedptr + count) %
+ ch->buffer->bufsize;
ch->available_space -= count;
ch->submitted_samples += count;
KASSERT(ch->available_space >= 0, ("ch->available_space == %d\n", ch->available_space));
@@ -662,7 +663,7 @@ bcmchan_free(kobj_t obj, void *data)
struct bcm2835_audio_chinfo *ch = data;
void *buffer;
- buffer = sndbuf_getbuf(ch->buffer);
+ buffer = ch->buffer->buf;
if (buffer)
free(buffer, M_DEVBUF);
diff --git a/sys/arm/freescale/imx/imx6_ssi.c b/sys/arm/freescale/imx/imx6_ssi.c
index cb77f1454e63..5a0e671f15a2 100644
--- a/sys/arm/freescale/imx/imx6_ssi.c
+++ b/sys/arm/freescale/imx/imx6_ssi.c
@@ -398,7 +398,7 @@ ssichan_setblocksize(kobj_t obj, void *data, uint32_t blocksize)
setup_dma(scp);
- return (sndbuf_getblksz(ch->buffer));
+ return (ch->buffer->blksz);
}
uint32_t
@@ -415,7 +415,7 @@ ssi_dma_intr(void *arg, int chn)
sc = scp->sc;
conf = sc->conf;
- bufsize = sndbuf_getsize(ch->buffer);
+ bufsize = ch->buffer->bufsize;
sc->pos += conf->period;
if (sc->pos >= bufsize)
@@ -487,8 +487,8 @@ setup_dma(struct sc_pcminfo *scp)
conf->saddr = sc->buf_base_phys;
conf->daddr = rman_get_start(sc->res[0]) + SSI_STX0;
conf->event = sc->sdma_ev_tx; /* SDMA TX event */
- conf->period = sndbuf_getblksz(ch->buffer);
- conf->num_bd = sndbuf_getblkcnt(ch->buffer);
+ conf->period = ch->buffer->blksz;
+ conf->num_bd = ch->buffer->blkcnt;
/*
* Word Length
@@ -497,7 +497,7 @@ setup_dma(struct sc_pcminfo *scp)
* SSI supports 24 at max.
*/
- fmt = sndbuf_getfmt(ch->buffer);
+ fmt = ch->buffer->fmt;
if (fmt & AFMT_16BIT) {
conf->word_length = 16;
diff --git a/sys/arm/freescale/vybrid/vf_sai.c b/sys/arm/freescale/vybrid/vf_sai.c
index e895529c4810..9c0125768fee 100644
--- a/sys/arm/freescale/vybrid/vf_sai.c
+++ b/sys/arm/freescale/vybrid/vf_sai.c
@@ -369,7 +369,7 @@ saichan_setblocksize(kobj_t obj, void *data, uint32_t blocksize)
sndbuf_resize(ch->buffer, sc->dma_size / blocksize, blocksize);
- sc->period = sndbuf_getblksz(ch->buffer);
+ sc->period = ch->buffer->blksz;
return (sc->period);
}