From nobody Wed Jun 3 08:23:14 2026 X-Original-To: dev-commits-src-all@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 4gVggk1fwCz6gJPx for ; Wed, 03 Jun 2026 08:23:14 +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 "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVggk0fH1z3gN0 for ; Wed, 03 Jun 2026 08:23:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780474994; 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=pBlo6J7v1hwywmMpnaNuUrB8sAL9HYlfpPtDi/qblrc=; b=VvdOZbGXJlO1743dYD99i5UxVN7SvhZxPYX1Qu2/0EE9CHfsm6pw7/qMZe/i3gqTnIvRP0 aPxZhzcEkiGN3aE/eKH9LUXkWH4lxwWkR7O3nLcGjFzbYYvZ5VxriE06GkKTFOk5EsYATp v7jeBErz70gfVZ64fFgSF2Lu1kzYIDuVdMztQANq0Geg8y7I0UPlAqAoG4FDqJ/gsPco4S 96raVv4I2Hew/gmTGkTFVk4sCsQt/T91HnXsacMsPkjeDby5KwCn2aqIQTb6gKIZqRxjCP DdC/S15iLzsktapEASxZsfgEsSZJUTJUbQ6DQjAs5lEIYBPfwygpaNOiaO/LbQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780474994; a=rsa-sha256; cv=none; b=qEAx8YYkSgVHrQ/B1GdSJsy2h3jyINc0KQDrJLeQAHu1Bm5qzepXHDcbuWKrP2UCNNeEmi EgpJwrgkO3VbpdYnwPVsq3aLSZ7sCfzgw7c6UabTukjfIRahL6aTaCY8/2VlG1hVSLTfXV 0KhaBMeH7dB2EpIsUe8mHhPOx4Ugf00C6DTAwj0PkxY6NUMDqhI6HNKbqUENZve9T8XP3S JdkpZiIh8s40qvdf31Jimc873QjZfnwFuM8rG3adseRPqvioxZWi+lSPtj2e0Z8dMf68is x3Tj7pwxGC2JMy5KUK5sWl+08xARThFyWXrx+PA5mUgl9wNa7dPHlAwtwBccCA== 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=1780474994; 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=pBlo6J7v1hwywmMpnaNuUrB8sAL9HYlfpPtDi/qblrc=; b=Xaeiap3JBYXuk/oTr4l9spzvZFg3YcKaSGvPWgVYZYPVFjQlqmm1v2O2g4fs3o8XY9WZm4 YzVDTI3TkSwft/CkfuY545Qi9OyoCp7b4cehb8v2uJjNlBAx8gUB1P7XULzo+CN+arBw5e 0CqijCtHx0Bj0PPvMiLRB+Jmi/dsmUMUKlIOXTXgV3eJW2EVnJpqE5H2zY3IsU11fM8grR aKoeloTLxvd41zBAvZGQVmQ2dYTtTaqgw+BbwCkCRHCegxFdeiytj7Ke+nYJmXZufXmAJt MjMzsMmEnOFsQTMsOuvEOnRBgfRaJuhzmlsoqyLeNCvm/03/jEw3KxmMNvQNpw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVggk09N2z13lT for ; Wed, 03 Jun 2026 08:23:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3b2ab by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 03 Jun 2026 08:23:14 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Christos Margiolis Subject: git: 8511a14eb0cf - stable/15 - sound: Retire FEEDEQ_BYPASS List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list 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/15 X-Git-Reftype: branch X-Git-Commit: 8511a14eb0cf3bc78fe8436f14bd01f760f923ec Auto-Submitted: auto-generated Date: Wed, 03 Jun 2026 08:23:14 +0000 Message-Id: <6a1fe472.3b2ab.41c7ec3d@gitrepo.freebsd.org> The branch stable/15 has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=8511a14eb0cf3bc78fe8436f14bd01f760f923ec commit 8511a14eb0cf3bc78fe8436f14bd01f760f923ec Author: Christos Margiolis AuthorDate: 2026-04-17 14:45:40 +0000 Commit: Christos Margiolis CommitDate: 2026-06-03 08:22:22 +0000 sound: Retire FEEDEQ_BYPASS In effect, this is the same as the disable state. There is a comment that says the bypass state skips EQ altogether, which is what the disable should be. The disable state according to the comment disables EQ but keeps the EQ preamp (dev.pcm.%d.eq_preamp), however after testing it seems that the preamp does not really take effect, because with EQ disabled, feeder_eq is non existent, so we never execute any EQ code in the first place. Make things simpler and clearer and have 2 states; enable and disable, and do what they should do intuitively. Sponsored by: The FreeBSD Foundation MFC after: 1 week Pull Request: https://ron-dev.freebsd.org/FreeBSD/src/pulls/15 (cherry picked from commit 54a03b44ae386e26d29df6eece3fadb5c0d1105a) --- sys/dev/sound/pcm/channel.c | 4 +--- sys/dev/sound/pcm/feeder.h | 1 - sys/dev/sound/pcm/feeder_eq.c | 26 +++++++------------------- sys/dev/sound/pcm/sound.h | 4 ++-- 4 files changed, 10 insertions(+), 25 deletions(-) diff --git a/sys/dev/sound/pcm/channel.c b/sys/dev/sound/pcm/channel.c index c1e0d8d3bc52..be6d7f82f502 100644 --- a/sys/dev/sound/pcm/channel.c +++ b/sys/dev/sound/pcm/channel.c @@ -2209,9 +2209,7 @@ chn_syncstate(struct pcm_channel *c) device_printf(c->dev, "EQ: Failed to set preamp -- %d\n", d->eqpreamp); - if (d->flags & SD_F_EQ_BYPASSED) - state = FEEDEQ_BYPASS; - else if (d->flags & SD_F_EQ_ENABLED) + if (d->flags & SD_F_EQ_ENABLED) state = FEEDEQ_ENABLE; else state = FEEDEQ_DISABLE; diff --git a/sys/dev/sound/pcm/feeder.h b/sys/dev/sound/pcm/feeder.h index e1e91d468455..7d14022c6849 100644 --- a/sys/dev/sound/pcm/feeder.h +++ b/sys/dev/sound/pcm/feeder.h @@ -122,7 +122,6 @@ enum { FEEDEQ_STATE, FEEDEQ_DISABLE, FEEDEQ_ENABLE, - FEEDEQ_BYPASS, FEEDEQ_UNKNOWN }; diff --git a/sys/dev/sound/pcm/feeder_eq.c b/sys/dev/sound/pcm/feeder_eq.c index 4cf9d4f6695f..8f3acbf4e156 100644 --- a/sys/dev/sound/pcm/feeder_eq.c +++ b/sys/dev/sound/pcm/feeder_eq.c @@ -334,8 +334,7 @@ feed_eq_set(struct pcm_feeder *f, int what, int value) info->preamp = FEEDEQ_PREAMP2IDX(value); break; case FEEDEQ_STATE: - if (!(value == FEEDEQ_BYPASS || value == FEEDEQ_ENABLE || - value == FEEDEQ_DISABLE)) + if (!(value == FEEDEQ_ENABLE || value == FEEDEQ_DISABLE)) return (EINVAL); info->state = value; feed_eq_reset(info); @@ -370,13 +369,7 @@ feed_eq_feed(struct pcm_feeder *f, struct pcm_channel *c, uint8_t *b, info = f->data; - /* - * 3 major states: - * FEEDEQ_BYPASS - Bypass entirely, nothing happened. - * FEEDEQ_ENABLE - Preamp+biquad filtering. - * FEEDEQ_DISABLE - Preamp only. - */ - if (info->state == FEEDEQ_BYPASS) + if (info->state == FEEDEQ_DISABLE) return (FEEDER_FEED(f->source, c, b, count, source)); dst = b; @@ -482,9 +475,7 @@ sysctl_dev_pcm_eq(SYSCTL_HANDLER_ARGS) PCM_LOCK(d); PCM_WAIT(d); - if (d->flags & SD_F_EQ_BYPASSED) - val = 2; - else if (d->flags & SD_F_EQ_ENABLED) + if (d->flags & SD_F_EQ_ENABLED) val = 1; else val = 0; @@ -495,18 +486,15 @@ sysctl_dev_pcm_eq(SYSCTL_HANDLER_ARGS) err = sysctl_handle_int(oidp, &val, 0, req); if (err == 0 && req->newptr != NULL && val != oval) { - if (!(val == 0 || val == 1 || val == 2)) { + if (!(val == 0 || val == 1)) { PCM_RELEASE_QUICK(d); return (EINVAL); } PCM_LOCK(d); - d->flags &= ~(SD_F_EQ_ENABLED | SD_F_EQ_BYPASSED); - if (val == 2) { - val = FEEDEQ_BYPASS; - d->flags |= SD_F_EQ_BYPASSED; - } else if (val == 1) { + d->flags &= ~(SD_F_EQ_ENABLED); + if (val == 1) { val = FEEDEQ_ENABLE; d->flags |= SD_F_EQ_ENABLED; } else @@ -612,7 +600,7 @@ feeder_eq_initsys(device_t dev) SYSCTL_CHILDREN(device_get_sysctl_tree(dev)), OID_AUTO, "eq", CTLTYPE_INT | CTLFLAG_RWTUN | CTLFLAG_MPSAFE, d, sizeof(d), sysctl_dev_pcm_eq, "I", - "Bass/Treble Equalizer (0=disable, 1=enable, 2=bypass)"); + "Bass/Treble Equalizer (0=disable, 1=enable)"); (void)snprintf(buf, sizeof(buf), "Bass/Treble Equalizer Preamp " "(-/+ %d.0dB , %d.%ddB step)", diff --git a/sys/dev/sound/pcm/sound.h b/sys/dev/sound/pcm/sound.h index 7f89c1d14df1..06de95e461ec 100644 --- a/sys/dev/sound/pcm/sound.h +++ b/sys/dev/sound/pcm/sound.h @@ -104,7 +104,7 @@ struct snd_mixer; #define SD_F_VPC 0x00000080 /* volume-per-channel */ /* unused 0x00000100 */ #define SD_F_EQ_ENABLED 0x00000200 /* EQ enabled */ -#define SD_F_EQ_BYPASSED 0x00000400 /* EQ bypassed */ +/* unused 0x00000400 */ #define SD_F_EQ_PC 0x00000800 /* EQ per-channel */ #define SD_F_PVCHANS 0x00001000 /* Playback vchans enabled */ #define SD_F_RVCHANS 0x00002000 /* Recording vchans enabled */ @@ -120,7 +120,7 @@ struct snd_mixer; "\010VPC" \ /* "\011 */ \ "\012EQ_ENABLED" \ - "\013EQ_BYPASSED" \ + /* "\013 */ \ "\014EQ_PC" \ "\015PVCHANS" \ "\016RVCHANS"