Lines Matching +full:ramp +full:- +full:up
1 // SPDX-License-Identifier: GPL-2.0
9 * +------+ +------+
10 * [SRC3 / SRC6] -> |CTU n0| -> [MIX n0| ->
11 * [SRC4 / SRC9] -> |CTU n1| -> [MIX n1| ->
12 * [SRC0 / SRC1] -> |CTU n2| -> [MIX n2| ->
13 * [SRC2 / SRC5] -> |CTU n3| -> [MIX n3| ->
14 * +------+ +------+
24 * Volume Ramp
25 * amixer set "MIX Ramp Up Rate" "0.125 dB/1 step"
26 * amixer set "MIX Ramp Down Rate" "4 dB/1 step"
27 * amixer set "MIX Ramp" on
30 * amixer set "MIX",1 100% // DAI1 Volume Up
44 struct rsnd_kctrl_cfg_s ren; /* Ramp Enable */
45 struct rsnd_kctrl_cfg_s rup; /* Ramp Rate Up */
46 struct rsnd_kctrl_cfg_s rdw; /* Ramp Rate Down */
61 #define rsnd_mix_get(priv, id) ((struct rsnd_mix *)(priv->mix) + id)
62 #define rsnd_mix_nr(priv) ((priv)->mix_nr)
66 ((pos) = (struct rsnd_mix *)(priv)->mix + i); \
83 (VOL_MAX - rsnd_kctrl_vals(mix->volume##X)) : 0
115 rsnd_mod_write(mod, MIX_MIXMR, rsnd_kctrl_vals(mix->ren)); in rsnd_mix_volume_init()
116 rsnd_mod_write(mod, MIX_MVPDR, rsnd_kctrl_vals(mix->rup) << 8 | in rsnd_mix_volume_init()
117 rsnd_kctrl_vals(mix->rdw)); in rsnd_mix_volume_init()
189 volume = &mix->volumeA; in rsnd_mix_pcm_new()
194 volume = &mix->volumeB; in rsnd_mix_pcm_new()
199 volume = &mix->volumeC; in rsnd_mix_pcm_new()
204 volume = &mix->volumeD; in rsnd_mix_pcm_new()
209 return -EINVAL; in rsnd_mix_pcm_new()
225 /* Ramp */ in rsnd_mix_pcm_new()
227 "MIX Ramp Switch", in rsnd_mix_pcm_new()
230 &mix->ren, 1); in rsnd_mix_pcm_new()
235 "MIX Ramp Up Rate", in rsnd_mix_pcm_new()
238 &mix->rup, in rsnd_mix_pcm_new()
245 "MIX Ramp Down Rate", in rsnd_mix_pcm_new()
248 &mix->rdw, in rsnd_mix_pcm_new()
304 ret = -EINVAL; in rsnd_mix_probe()
310 ret = -ENOMEM; in rsnd_mix_probe()
314 priv->mix_nr = nr; in rsnd_mix_probe()
315 priv->mix = mix; in rsnd_mix_probe()