Lines Matching +full:pass +full:- +full:1
1 // SPDX-License-Identifier: GPL-2.0
16 * CTUn_CPMDR : amixser set "CTU Pass"
22 * [CTU Pass]
25 * 0010: Connect input data of channel 1
33 * 1010: Connect calculated data by scale values of matrix row 1
50 * -----------------------------------------------------------------------
53 * H'40_0000 1 0 H'C0_0000 1 0
55 * H'00_0001 2.38 x 10^-7 -132
56 * H'00_0000 0 Mute H'FF_FFFF 2.38 x 10^-7 -132
59 * Ex) Input ch -> Output ch
60 * 1ch -> 0ch
61 * 0ch -> 1ch
64 * amixer set "CTU Pass" 9,10
69 * amixer set "CTU Pass" 2,1
74 struct rsnd_kctrl_cfg_m pass; member
81 #define KCTRL_INITIALIZED (1 << 0)
83 #define rsnd_ctu_nr(priv) ((priv)->ctu_nr)
87 ((pos) = (struct rsnd_ctu *)(priv)->ctu + i); \
93 #define rsnd_ctu_get(priv, id) ((struct rsnd_ctu *)(priv->ctu) + id)
98 rsnd_mod_write(mod, CTU_SWRSR, 1); in rsnd_ctu_activation()
103 rsnd_mod_write(mod, CTU_CTUIR, 1); in rsnd_ctu_halt()
123 u32 val = rsnd_kctrl_valm(ctu->pass, i); in rsnd_ctu_value_init()
125 cpmdr |= val << (28 - (i * 4)); in rsnd_ctu_value_init()
127 if ((val > 0x8) && (scmdr < (val - 0x8))) in rsnd_ctu_value_init()
128 scmdr = val - 0x8; in rsnd_ctu_value_init()
131 rsnd_mod_write(mod, CTU_CTUIR, 1); in rsnd_ctu_value_init()
145 rsnd_mod_write(mod, CTU_SVxxR(i, j), rsnd_kctrl_valm(ctu->sv[i], j)); in rsnd_ctu_value_init()
157 if (!rsnd_kctrl_vals(ctu->reset)) in rsnd_ctu_value_reset()
161 rsnd_kctrl_valm(ctu->pass, i) = 0; in rsnd_ctu_value_reset()
162 rsnd_kctrl_valm(ctu->sv[0], i) = 0; in rsnd_ctu_value_reset()
163 rsnd_kctrl_valm(ctu->sv[1], i) = 0; in rsnd_ctu_value_reset()
164 rsnd_kctrl_valm(ctu->sv[2], i) = 0; in rsnd_ctu_value_reset()
165 rsnd_kctrl_valm(ctu->sv[3], i) = 0; in rsnd_ctu_value_reset()
167 rsnd_kctrl_vals(ctu->reset) = 0; in rsnd_ctu_value_reset()
208 /* CTU Pass */ in rsnd_ctu_pcm_new()
209 ret = rsnd_kctrl_new_m(mod, io, rtd, "CTU Pass", in rsnd_ctu_pcm_new()
212 &ctu->pass, RSND_MAX_CHANNELS, in rsnd_ctu_pcm_new()
221 &ctu->sv[0], RSND_MAX_CHANNELS, in rsnd_ctu_pcm_new()
230 &ctu->sv[1], RSND_MAX_CHANNELS, in rsnd_ctu_pcm_new()
239 &ctu->sv[2], RSND_MAX_CHANNELS, in rsnd_ctu_pcm_new()
248 &ctu->sv[3], RSND_MAX_CHANNELS, in rsnd_ctu_pcm_new()
257 &ctu->reset, 1); in rsnd_ctu_pcm_new()
267 * ctu00: -> 0, ctu01: -> 0, ctu02: -> 0, ctu03: -> 0 in rsnd_ctu_id()
268 * ctu10: -> 1, ctu11: -> 1, ctu12: -> 1, ctu13: -> 1 in rsnd_ctu_id()
270 return mod->id / 4; in rsnd_ctu_id()
276 * ctu00: -> 0, ctu01: -> 1, ctu02: -> 2, ctu03: -> 3 in rsnd_ctu_id_sub()
277 * ctu10: -> 0, ctu11: -> 1, ctu12: -> 2, ctu13: -> 3 in rsnd_ctu_id_sub()
279 return mod->id % 4; in rsnd_ctu_id_sub()
336 ret = -EINVAL; in rsnd_ctu_probe()
342 ret = -ENOMEM; in rsnd_ctu_probe()
346 priv->ctu_nr = nr; in rsnd_ctu_probe()
347 priv->ctu = ctu; in rsnd_ctu_probe()