diff options
| author | Christos Margiolis <christos@FreeBSD.org> | 2026-04-17 15:14:46 +0000 |
|---|---|---|
| committer | Christos Margiolis <christos@FreeBSD.org> | 2026-05-27 15:27:11 +0000 |
| commit | f5d6e5cb5c3e0593d24c90671d72654aa59cdd1a (patch) | |
| tree | 9024f87d852eb8ae576a3501ae9cc9f73eb53466 | |
| parent | 6f130b220d7ce64ce65f076a21edea034d14482b (diff) | |
sound: Retire FEEDEQ_DISABLE
We can do this more efficiently by just using the SD_F_EQ* flags. In
fact, the dev.pcm.%d.eq handler will (un)set SD_F_EQ_ENABLED and this is
what we actually test with when choosing to creating the EQ feeder or
not, so setting the state to FEEDEQ_DISABLE does not really an effect in
the first place.
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Pull Request: https://ron-dev.freebsd.org/FreeBSD/src/pulls/15
| -rw-r--r-- | sys/dev/sound/pcm/channel.c | 12 | ||||
| -rw-r--r-- | sys/dev/sound/pcm/feeder.h | 1 | ||||
| -rw-r--r-- | sys/dev/sound/pcm/feeder_eq.c | 5 |
3 files changed, 6 insertions, 12 deletions
diff --git a/sys/dev/sound/pcm/channel.c b/sys/dev/sound/pcm/channel.c index be6d7f82f502..c97a3158dbd9 100644 --- a/sys/dev/sound/pcm/channel.c +++ b/sys/dev/sound/pcm/channel.c @@ -2177,7 +2177,7 @@ chn_syncstate(struct pcm_channel *c) if (c->feederflags & (1 << FEEDER_EQ)) { struct pcm_feeder *f; - int treble, bass, state; + int treble, bass; /* CHN_UNLOCK(c); */ treble = mix_get(m, SOUND_MIXER_TREBLE); @@ -2209,13 +2209,9 @@ 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_ENABLED) - state = FEEDEQ_ENABLE; - else - state = FEEDEQ_DISABLE; - if (FEEDER_SET(f, FEEDEQ_STATE, state) != 0) - device_printf(c->dev, - "EQ: Failed to set state -- %d\n", state); + if (d->flags & SD_F_EQ_ENABLED && + FEEDER_SET(f, FEEDEQ_STATE, FEEDEQ_ENABLE) != 0) + device_printf(c->dev, "EQ: Failed to enable\n"); } } } diff --git a/sys/dev/sound/pcm/feeder.h b/sys/dev/sound/pcm/feeder.h index 7d14022c6849..10bfe9dca8f3 100644 --- a/sys/dev/sound/pcm/feeder.h +++ b/sys/dev/sound/pcm/feeder.h @@ -120,7 +120,6 @@ enum { FEEDEQ_BASS, FEEDEQ_PREAMP, FEEDEQ_STATE, - FEEDEQ_DISABLE, FEEDEQ_ENABLE, FEEDEQ_UNKNOWN }; diff --git a/sys/dev/sound/pcm/feeder_eq.c b/sys/dev/sound/pcm/feeder_eq.c index fe47a9d7e434..6fd7d7f2bfff 100644 --- a/sys/dev/sound/pcm/feeder_eq.c +++ b/sys/dev/sound/pcm/feeder_eq.c @@ -321,7 +321,7 @@ feed_eq_set(struct pcm_feeder *f, int what, int value) info->preamp = FEEDEQ_PREAMP2IDX(value); break; case FEEDEQ_STATE: - if (!(value == FEEDEQ_ENABLE || value == FEEDEQ_DISABLE)) + if (value != FEEDEQ_ENABLE) return (EINVAL); info->state = value; feed_eq_reset(info); @@ -477,12 +477,11 @@ sysctl_dev_pcm_eq(SYSCTL_HANDLER_ARGS) PCM_LOCK(d); - d->flags &= ~(SD_F_EQ_ENABLED); if (val == 1) { val = FEEDEQ_ENABLE; d->flags |= SD_F_EQ_ENABLED; } else - val = FEEDEQ_DISABLE; + d->flags &= ~SD_F_EQ_ENABLED; CHN_FOREACH(c, d, channels.pcm.busy) { CHN_LOCK(c); |
