From nobody Sun Aug 04 12:09:40 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4WcJKK2zV9z5SD2K; Sun, 04 Aug 2024 12:09:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4WcJKK0pcKz4SDs; Sun, 4 Aug 2024 12:09:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1722773381; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8BgQl4OKk2fLrS84OkpX0EzExsotHOVouWxckIOUruU=; b=yKfdrDPiflkg9mdxoVE6OfrwFXb+j/13KacpVBKrvTY8TdAtSF6eMiIr0heRs/VYh3Wpt8 SFeWHqrC4efJRzLXempzoSr6Klm7EPZuHqEJD+ccdGJRzKY5TvZ9dhTdjPejab9pTeB5q4 TDw5DvaOVRTrcaDX56OHYEXP8BkpktN2eaiPrBbfP1ox+b95Mjelw5tzHHIwAuR1Zr8915 6R/UIltWmMS1bdE4tIIY9vyHr7/Q+JJacUgv9SEPkWmWUggidN/+ed3LKmshM+SxupIwJb nu2TLhuPdmtlN5e+48Qq2tjdM+FoxD/DR6VqBcO869o2D0BSvEWfw7LAwCfmaA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1722773381; a=rsa-sha256; cv=none; b=OnU6+D2sUohD+M32I06Aitg4PS4JW0jcg+fFSBF7mn8Q0prxW71ITMIrpCnQl/9v0ywvMv vgDZ+COLZ0GCR7ps0NPOFzgEZYFMb6Wl6GkaIow+pT/BBrO1mGKnToB2akDyQ2EXW+iJIr GJlxOCBFoG6R/KB3M6XvxGY80kxG4iyM1SYlxdvVROW5HNjqIB63W6e7WoFvhDbmeSUiu1 8lq/HLc06INblIYRWrfBAlyqjdLS88fq+oBREsSRlwpqNJrIcoTJ1tA/iUfy17xN8ShrRm G4HnOioZgY5uLE/sXAUpbgm3I3nxQzF0UeO/H9chcUUOo/JcSlAKzVtc4EZ0SA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1722773381; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8BgQl4OKk2fLrS84OkpX0EzExsotHOVouWxckIOUruU=; b=Rty6HZ94jHojxee2ySOdF6wCD8UI6y3ahdFfbLwqLRalpee6nydQ9ptda4RYDrEP/rkxF8 n9NZTcZoCcoWXS00uLkkV5NJfdmQMLCMJz9p3yMf5P6l9JLov/MhPbSguOyIhgivAUUcA3 V9PEoFgdFj6oOn8aRhsnn7YliiVr1AjZrPBAcLEwfsSIZKMt+nxVhOnsBvlu385hhXMUGU q0btn25xq4kgCEXKlNROTBNdnxR+SzyqB5GdoVYit6pBj8GzfnR9/qxdl22/bDFH5jZ4hK xMGUW8RFtaVykT2/xJ7a05fBBcs3BpBfq7hF90H5d93o0WSyAuTMQ2GA+cXagg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4WcJKK0PwBzv21; Sun, 4 Aug 2024 12:09:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 474C9e1M018401; Sun, 4 Aug 2024 12:09:40 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 474C9erB018398; Sun, 4 Aug 2024 12:09:40 GMT (envelope-from git) Date: Sun, 4 Aug 2024 12:09:40 GMT Message-Id: <202408041209.474C9erB018398@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Christos Margiolis Subject: git: f2372d936d7f - stable/14 - sound: Fix VCHANs' starting and ending points in feeder chain List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: f2372d936d7f57b52af85dde10c977fd49cbd52d Auto-Submitted: auto-generated The branch stable/14 has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=f2372d936d7f57b52af85dde10c977fd49cbd52d commit f2372d936d7f57b52af85dde10c977fd49cbd52d Author: Christos Margiolis AuthorDate: 2024-08-02 12:53:16 +0000 Commit: Christos Margiolis CommitDate: 2024-08-04 12:09:35 +0000 sound: Fix VCHANs' starting and ending points in feeder chain sndstat(4) falsely reports "hardware" as the starting point of recording, and ending point of playback VCHANs. Recording VCHANs get their input from the primary recording channel, and playback VCHANs send their input to the primary playback channel. Sponsored by: The FreeBSD Foundation MFC after: 2 days Reviewed by: dev_submerge.ch, markj Differential Revision: https://reviews.freebsd.org/D46177 (cherry picked from commit b58d9db4d77a6f42ac7cf3cdb2af2443666033e2) --- sys/dev/sound/pcm/sndstat.c | 36 ++++++++++++++++++++++++++++-------- 1 file changed, 28 insertions(+), 8 deletions(-) diff --git a/sys/dev/sound/pcm/sndstat.c b/sys/dev/sound/pcm/sndstat.c index f09fa7139884..4fac6a97a3f0 100644 --- a/sys/dev/sound/pcm/sndstat.c +++ b/sys/dev/sound/pcm/sndstat.c @@ -517,8 +517,13 @@ sndstat_build_sound4_nvlist(struct snddev_info *d, nvlist_t **dip) nvlist_add_number(cdi, SNDST_DSPS_SOUND4_CHAN_SWBUF_READY, sndbuf_getready(c->bufsoft)); - sbuf_printf(&sb, "[%s", - (c->direction == PCMDIR_REC) ? "hardware" : "userland"); + if (c->parentchannel != NULL) { + sbuf_printf(&sb, "[%s", (c->direction == PCMDIR_REC) ? + c->parentchannel->name : "userland"); + } else { + sbuf_printf(&sb, "[%s", (c->direction == PCMDIR_REC) ? + "hardware" : "userland"); + } sbuf_printf(&sb, " -> "); f = c->feeder; while (f->source != NULL) @@ -550,8 +555,13 @@ sndstat_build_sound4_nvlist(struct snddev_info *d, nvlist_t **dip) sbuf_printf(&sb, " -> "); f = f->parent; } - sbuf_printf(&sb, "%s]", - (c->direction == PCMDIR_REC) ? "userland" : "hardware"); + if (c->parentchannel != NULL) { + sbuf_printf(&sb, "%s]", (c->direction == PCMDIR_REC) ? + "userland" : c->parentchannel->name); + } else { + sbuf_printf(&sb, "%s]", (c->direction == PCMDIR_REC) ? + "userland" : "hardware"); + } CHN_UNLOCK(c); @@ -1306,8 +1316,13 @@ sndstat_prepare_pcm(struct sbuf *s, device_t dev, int verbose) sbuf_printf(s, "channel flags=0x%b", c->flags, CHN_F_BITS); sbuf_printf(s, "\n\t"); - sbuf_printf(s, "{%s}", - (c->direction == PCMDIR_REC) ? "hardware" : "userland"); + if (c->parentchannel != NULL) { + sbuf_printf(s, "{%s}", (c->direction == PCMDIR_REC) ? + c->parentchannel->name : "userland"); + } else { + sbuf_printf(s, "{%s}", (c->direction == PCMDIR_REC) ? + "hardware" : "userland"); + } sbuf_printf(s, " -> "); f = c->feeder; while (f->source != NULL) @@ -1339,8 +1354,13 @@ sndstat_prepare_pcm(struct sbuf *s, device_t dev, int verbose) sbuf_printf(s, " -> "); f = f->parent; } - sbuf_printf(s, "{%s}", - (c->direction == PCMDIR_REC) ? "userland" : "hardware"); + if (c->parentchannel != NULL) { + sbuf_printf(s, "{%s}", (c->direction == PCMDIR_REC) ? + "userland" : c->parentchannel->name); + } else { + sbuf_printf(s, "{%s}", (c->direction == PCMDIR_REC) ? + "userland" : "hardware"); + } CHN_UNLOCK(c); }