Lines Matching full:mod

50  *   |   +- playback -> [mod] -> [mod] -> [mod] -> ...
53 * | +- capture -> [mod] -> [mod] -> [mod] -> ...
57 * | +- playback -> [mod] -> [mod] -> [mod] -> ...
60 * | +- capture -> [mod] -> [mod] -> [mod] -> ...
86 * [mod] => [mod] => [mod] => ...
89 * [mod]->fn() -> [mod]->fn() -> [mod]->fn()...
114 void rsnd_mod_make_sure(struct rsnd_mod *mod, enum rsnd_mod_type type) in rsnd_mod_make_sure() argument
116 if (mod->type != type) { in rsnd_mod_make_sure()
117 struct rsnd_priv *priv = rsnd_mod_to_priv(mod); in rsnd_mod_make_sure()
121 rsnd_mod_name(mod)); in rsnd_mod_make_sure()
126 struct rsnd_mod *mod) in rsnd_mod_dma_req() argument
128 if (!mod || !mod->ops || !mod->ops->dma_req) in rsnd_mod_dma_req()
131 return mod->ops->dma_req(io, mod); in rsnd_mod_dma_req()
136 char *rsnd_mod_name(struct rsnd_mod *mod) in rsnd_mod_name() argument
151 if ((mod)->ops->id_sub) { in rsnd_mod_name()
153 mod->ops->name, in rsnd_mod_name()
154 rsnd_mod_id(mod), in rsnd_mod_name()
155 rsnd_mod_id_sub(mod)); in rsnd_mod_name()
158 mod->ops->name, in rsnd_mod_name()
159 rsnd_mod_id(mod)); in rsnd_mod_name()
165 u32 *rsnd_mod_get_status(struct rsnd_mod *mod, in rsnd_mod_get_status() argument
169 return &mod->status; in rsnd_mod_get_status()
172 int rsnd_mod_id_raw(struct rsnd_mod *mod) in rsnd_mod_id_raw() argument
174 return mod->id; in rsnd_mod_id_raw()
177 int rsnd_mod_id(struct rsnd_mod *mod) in rsnd_mod_id() argument
179 if ((mod)->ops->id) in rsnd_mod_id()
180 return (mod)->ops->id(mod); in rsnd_mod_id()
182 return rsnd_mod_id_raw(mod); in rsnd_mod_id()
185 int rsnd_mod_id_sub(struct rsnd_mod *mod) in rsnd_mod_id_sub() argument
187 if ((mod)->ops->id_sub) in rsnd_mod_id_sub()
188 return (mod)->ops->id_sub(mod); in rsnd_mod_id_sub()
194 struct rsnd_mod *mod, in rsnd_mod_init() argument
205 mod->id = id; in rsnd_mod_init()
206 mod->ops = ops; in rsnd_mod_init()
207 mod->type = type; in rsnd_mod_init()
208 mod->clk = clk; in rsnd_mod_init()
209 mod->priv = priv; in rsnd_mod_init()
214 void rsnd_mod_quit(struct rsnd_mod *mod) in rsnd_mod_quit() argument
216 clk_unprepare(mod->clk); in rsnd_mod_quit()
217 mod->clk = NULL; in rsnd_mod_quit()
220 void rsnd_mod_interrupt(struct rsnd_mod *mod, in rsnd_mod_interrupt() argument
221 void (*callback)(struct rsnd_mod *mod, in rsnd_mod_interrupt() argument
224 struct rsnd_priv *priv = rsnd_mod_to_priv(mod); in rsnd_mod_interrupt()
231 if (mod == io->mod[mod->type]) in rsnd_mod_interrupt()
232 callback(mod, io); in rsnd_mod_interrupt()
235 if (mod == io->mod[mod->type]) in rsnd_mod_interrupt()
236 callback(mod, io); in rsnd_mod_interrupt()
347 u32 rsnd_get_adinr_bit(struct rsnd_mod *mod, struct rsnd_dai_stream *io) in rsnd_get_adinr_bit() argument
349 struct rsnd_priv *priv = rsnd_mod_to_priv(mod); in rsnd_get_adinr_bit()
370 u32 rsnd_get_dalign(struct rsnd_mod *mod, struct rsnd_dai_stream *io) in rsnd_get_dalign() argument
413 if (mod == ssiu) in rsnd_get_dalign()
414 id = rsnd_mod_id_sub(mod); in rsnd_get_dalign()
418 if (mod == target && snd_pcm_format_width(runtime->format) == 16) { in rsnd_get_dalign()
419 /* Target mod needs inverted DALIGN when 16bit */ in rsnd_get_dalign()
427 u32 rsnd_get_busif_shift(struct rsnd_dai_stream *io, struct rsnd_mod *mod) in rsnd_get_busif_shift() argument
463 if (tmod != mod) in rsnd_get_busif_shift()
486 struct rsnd_mod *mod = rsnd_io_to_mod(io, type); in rsnd_mod_next() local
488 if (mod) in rsnd_mod_next()
489 return mod; in rsnd_mod_next()
530 struct rsnd_mod *mod, enum rsnd_mod_type type, in rsnd_status_update() argument
533 u32 *status = mod->ops->get_status(mod, io, type); in rsnd_status_update()
554 struct rsnd_mod *mod; \
558 for_each_rsnd_mod_arrays(i, mod, io, types, RSND_MOD_MAX) { \
560 int func_call = rsnd_status_update(io, mod, types[i], \
564 if (func_call > 0 && (mod)->ops->fn) \
565 tmp = (mod)->ops->fn(mod, io, param); \
569 rsnd_mod_name(mod), #fn, tmp, func_call);\
575 int rsnd_dai_connect(struct rsnd_mod *mod, in rsnd_dai_connect() argument
582 if (!mod) in rsnd_dai_connect()
585 if (io->mod[type] == mod) in rsnd_dai_connect()
588 if (io->mod[type]) in rsnd_dai_connect()
591 priv = rsnd_mod_to_priv(mod); in rsnd_dai_connect()
594 io->mod[type] = mod; in rsnd_dai_connect()
597 rsnd_mod_name(mod), in rsnd_dai_connect()
603 static void rsnd_dai_disconnect(struct rsnd_mod *mod, in rsnd_dai_disconnect() argument
607 io->mod[type] = NULL; in rsnd_dai_disconnect()
1170 struct rsnd_mod *mod; in rsnd_parse_connect_common() local
1174 mod = mod_get(priv, i); in rsnd_parse_connect_common()
1177 rsnd_dai_connect(mod, &rdai->playback, mod->type); in rsnd_parse_connect_common()
1179 rsnd_dai_connect(mod, &rdai->capture, mod->type); in rsnd_parse_connect_common()
1681 cfg->update(cfg->io, cfg->mod); in rsnd_kctrl_put()
1746 int rsnd_kctrl_new(struct rsnd_mod *mod, in rsnd_kctrl_new() argument
1752 struct rsnd_mod *mod), in rsnd_kctrl_new() argument
1801 cfg->mod = mod; in rsnd_kctrl_new()
1825 struct rsnd_mod *mod; in rsnd_rdai_continuance_probe() local
1842 * remove all mod from io in rsnd_rdai_continuance_probe()
1845 for_each_rsnd_mod(i, mod, io) in rsnd_rdai_continuance_probe()
1846 rsnd_dai_disconnect(mod, io, i); in rsnd_rdai_continuance_probe()
1941 * adg is very special mod which can't use rsnd_dai_call(remove), in rsnd_probe()