static void rsnd_mix_volume_update(struct rsnd_dai_stream *io, struct rsnd_mod *mod) { /* Disable MIX dB setting */ rsnd_mod_write(mod, MIX_MDBER, 0); /* common volume parameter */ rsnd_mix_volume_parameter(io, mod); /* Enable MIX dB setting */ rsnd_mod_write(mod, MIX_MDBER, 1); }
static void rsnd_mix_volume_init(struct rsnd_dai_stream *io, struct rsnd_mod *mod) { rsnd_mod_write(mod, MIX_MIXIR, 1); /* General Information */ rsnd_mod_write(mod, MIX_ADINR, rsnd_runtime_channel_after_ctu(io)); /* volume step */ rsnd_mod_write(mod, MIX_MIXMR, 0); rsnd_mod_write(mod, MIX_MVPDR, 0); /* common volume parameter */ rsnd_mix_volume_parameter(io, mod); rsnd_mod_write(mod, MIX_MIXIR, 0); }
static void rsnd_mix_volume_init(struct rsnd_dai_stream *io, struct rsnd_mod *mod) { struct rsnd_mix *mix = rsnd_mod_to_mix(mod); rsnd_mod_write(mod, MIX_MIXIR, 1); /* General Information */ rsnd_mod_write(mod, MIX_ADINR, rsnd_runtime_channel_after_ctu(io)); /* volume step */ rsnd_mod_write(mod, MIX_MIXMR, rsnd_kctrl_vals(mix->ren)); rsnd_mod_write(mod, MIX_MVPDR, rsnd_kctrl_vals(mix->rup) << 8 | rsnd_kctrl_vals(mix->rdw)); /* common volume parameter */ rsnd_mix_volume_parameter(io, mod); rsnd_mod_write(mod, MIX_MIXIR, 0); }