Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 2 May 2025 10:46:15 GMT
From:      Christos Margiolis <christos@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org
Subject:   git: 4a9c90d81e86 - stable/14 - sound: Export hardware and software buffer sample rate in sndstat nvlist
Message-ID:  <202505021046.542AkFCX035975@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch stable/14 has been updated by christos:

URL: https://cgit.FreeBSD.org/src/commit/?id=4a9c90d81e86ece27816e584835cd6f6ac97c8f5

commit 4a9c90d81e86ece27816e584835cd6f6ac97c8f5
Author:     Christos Margiolis <christos@FreeBSD.org>
AuthorDate: 2025-04-25 16:55:38 +0000
Commit:     Christos Margiolis <christos@FreeBSD.org>
CommitDate: 2025-05-02 10:43:48 +0000

    sound: Export hardware and software buffer sample rate in sndstat nvlist
    
    Sponsored by:   The FreeBSD Foundation
    MFC after:      1 week
    Differential Revision:  https://reviews.freebsd.org/D49983
    
    (cherry picked from commit 19ec522d6dc1d4616e07f5668339fc637856f547)
    
    sound tests: Fetch HWBUF_RATE and SWBUF_RATE in sndstat_nv
    
    Introduced in 19ec522d6dc1 ("sound: Export hardware and software buffer
    sample rate in sndstat nvlist").
    
    Sponsored by:   The FreeBSD Foundation
    MFC after:      1 week
    
    (cherry picked from commit 52a0f967dcc5b78c5f2f7e49a96e9cec56472a4f)
---
 share/man/man4/sndstat.4    | 6 ++++++
 sys/dev/sound/pcm/sndstat.c | 4 ++++
 sys/sys/sndstat.h           | 2 ++
 tests/sys/sound/sndstat.c   | 2 ++
 4 files changed, 14 insertions(+)

diff --git a/share/man/man4/sndstat.4 b/share/man/man4/sndstat.4
index 1d51882b98a5..1764ff418601 100644
--- a/share/man/man4/sndstat.4
+++ b/share/man/man4/sndstat.4
@@ -98,12 +98,14 @@ dsps (NVLIST ARRAY): 1
 			left_volume (NUMBER): 45
 			right_volume (NUMBER): 45
 			hwbuf_fmt (NUMBER): 0x200010
+			hwbuf_rate (NUMBER): 48000
 			hwbuf_size (NUMBER): 0
 			hwbuf_blksz (NUMBER): 0
 			hwbuf_blkcnt (NUMBER): 0
 			hwbuf_free (NUMBER): 0
 			hwbuf_ready (NUMBER): 0
 			swbuf_fmt (NUMBER): 0x201000
+			swbuf_rate (NUMBER): 48000
 			swbuf_size (NUMBER): 16384
 			swbuf_blksz (NUMBER): 2048
 			swbuf_blkcnt (NUMBER): 8
@@ -226,6 +228,8 @@ Left volume.
 Right volume.
 .It Dv hwbuf_format
 Hardware buffer format.
+.It Dv hwbuf_rate
+Hardware buffer sample rate;
 .It Dv hwbuf_size
 Hardware buffer size.
 .It Dv hwbuf_blksz
@@ -238,6 +242,8 @@ Free space in hardware buffer (in bytes).
 Number of bytes ready to be read/written from hardware buffer.
 .It Dv swbuf_format
 Software buffer format.
+.It Dv swbuf_rate
+Software buffer sample rate;
 .It Dv swbuf_size
 Software buffer size.
 .It Dv swbuf_blksz
diff --git a/sys/dev/sound/pcm/sndstat.c b/sys/dev/sound/pcm/sndstat.c
index cafd9aff4bdc..509a35c5a038 100644
--- a/sys/dev/sound/pcm/sndstat.c
+++ b/sys/dev/sound/pcm/sndstat.c
@@ -493,6 +493,8 @@ sndstat_build_sound4_nvlist(struct snddev_info *d, nvlist_t **dip)
 		    CHN_GETVOLUME(c, SND_VOL_C_PCM, SND_CHN_T_FR));
 		nvlist_add_number(cdi, SNDST_DSPS_SOUND4_CHAN_HWBUF_FORMAT,
 		    sndbuf_getfmt(c->bufhard));
+		nvlist_add_number(cdi, SNDST_DSPS_SOUND4_CHAN_HWBUF_RATE,
+		    sndbuf_getspd(c->bufhard));
 		nvlist_add_number(cdi, SNDST_DSPS_SOUND4_CHAN_HWBUF_SIZE,
 		    sndbuf_getsize(c->bufhard));
 		nvlist_add_number(cdi, SNDST_DSPS_SOUND4_CHAN_HWBUF_BLKSZ,
@@ -505,6 +507,8 @@ sndstat_build_sound4_nvlist(struct snddev_info *d, nvlist_t **dip)
 		    sndbuf_getready(c->bufhard));
 		nvlist_add_number(cdi, SNDST_DSPS_SOUND4_CHAN_SWBUF_FORMAT,
 		    sndbuf_getfmt(c->bufsoft));
+		nvlist_add_number(cdi, SNDST_DSPS_SOUND4_CHAN_SWBUF_RATE,
+		    sndbuf_getspd(c->bufsoft));
 		nvlist_add_number(cdi, SNDST_DSPS_SOUND4_CHAN_SWBUF_SIZE,
 		    sndbuf_getsize(c->bufsoft));
 		nvlist_add_number(cdi, SNDST_DSPS_SOUND4_CHAN_SWBUF_BLKSZ,
diff --git a/sys/sys/sndstat.h b/sys/sys/sndstat.h
index 6fd2e06ac483..a569f27f288f 100644
--- a/sys/sys/sndstat.h
+++ b/sys/sys/sndstat.h
@@ -94,12 +94,14 @@ struct sndstioc_nv_arg {
 #define SNDST_DSPS_SOUND4_CHAN_LEFTVOL		"left_volume"
 #define SNDST_DSPS_SOUND4_CHAN_RIGHTVOL		"right_volume"
 #define SNDST_DSPS_SOUND4_CHAN_HWBUF_FORMAT	"hwbuf_format"
+#define SNDST_DSPS_SOUND4_CHAN_HWBUF_RATE	"hwbuf_rate"
 #define SNDST_DSPS_SOUND4_CHAN_HWBUF_SIZE	"hwbuf_size"
 #define SNDST_DSPS_SOUND4_CHAN_HWBUF_BLKSZ	"hwbuf_blksz"
 #define SNDST_DSPS_SOUND4_CHAN_HWBUF_BLKCNT	"hwbuf_blkcnt"
 #define SNDST_DSPS_SOUND4_CHAN_HWBUF_FREE	"hwbuf_free"
 #define SNDST_DSPS_SOUND4_CHAN_HWBUF_READY	"hwbuf_ready"
 #define SNDST_DSPS_SOUND4_CHAN_SWBUF_FORMAT	"swbuf_format"
+#define SNDST_DSPS_SOUND4_CHAN_SWBUF_RATE	"swbuf_rate"
 #define SNDST_DSPS_SOUND4_CHAN_SWBUF_SIZE	"swbuf_size"
 #define SNDST_DSPS_SOUND4_CHAN_SWBUF_BLKSZ	"swbuf_blksz"
 #define SNDST_DSPS_SOUND4_CHAN_SWBUF_BLKCNT	"swbuf_blkcnt"
diff --git a/tests/sys/sound/sndstat.c b/tests/sys/sound/sndstat.c
index 637e640d3cff..ed292b570429 100644
--- a/tests/sys/sound/sndstat.c
+++ b/tests/sys/sound/sndstat.c
@@ -184,12 +184,14 @@ ATF_TC_BODY(sndstat_nv, tc)
 			NV(number, LEFTVOL);
 			NV(number, RIGHTVOL);
 			NV(number, HWBUF_FORMAT);
+			NV(number, HWBUF_RATE);
 			NV(number, HWBUF_SIZE);
 			NV(number, HWBUF_BLKSZ);
 			NV(number, HWBUF_BLKCNT);
 			NV(number, HWBUF_FREE);
 			NV(number, HWBUF_READY);
 			NV(number, SWBUF_FORMAT);
+			NV(number, SWBUF_RATE);
 			NV(number, SWBUF_SIZE);
 			NV(number, SWBUF_BLKSZ);
 			NV(number, SWBUF_BLKCNT);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202505021046.542AkFCX035975>