• Home
  • Raw
  • Download

Lines Matching full:mod

24 	struct rsnd_mod mod;  member
36 #define rsnd_src_sync_is_enabled(mod) (rsnd_mod_to_src(mod)->sen.val) argument
39 container_of((_mod), struct rsnd_src, mod)
58 static void rsnd_src_activation(struct rsnd_mod *mod) in rsnd_src_activation() argument
60 rsnd_mod_write(mod, SRC_SWRSR, 0); in rsnd_src_activation()
61 rsnd_mod_write(mod, SRC_SWRSR, 1); in rsnd_src_activation()
64 static void rsnd_src_halt(struct rsnd_mod *mod) in rsnd_src_halt() argument
66 rsnd_mod_write(mod, SRC_SRCIR, 1); in rsnd_src_halt()
67 rsnd_mod_write(mod, SRC_SWRSR, 0); in rsnd_src_halt()
71 struct rsnd_mod *mod) in rsnd_src_dma_req() argument
73 struct rsnd_priv *priv = rsnd_mod_to_priv(mod); in rsnd_src_dma_req()
77 mod, in rsnd_src_dma_req()
82 struct rsnd_mod *mod) in rsnd_src_convert_rate() argument
85 struct rsnd_src *src = rsnd_mod_to_src(mod); in rsnd_src_convert_rate()
91 if (!rsnd_src_sync_is_enabled(mod)) in rsnd_src_convert_rate()
138 static int rsnd_src_hw_params(struct rsnd_mod *mod, in rsnd_src_hw_params() argument
143 struct rsnd_src *src = rsnd_mod_to_src(mod); in rsnd_src_hw_params()
173 struct rsnd_mod *mod) in rsnd_src_set_convert_rate() argument
175 struct rsnd_priv *priv = rsnd_mod_to_priv(mod); in rsnd_src_set_convert_rate()
206 use_src = (fin != fout) | rsnd_src_sync_is_enabled(mod); in rsnd_src_set_convert_rate()
211 adinr = rsnd_get_adinr_bit(mod, io) | in rsnd_src_set_convert_rate()
236 if (rsnd_src_sync_is_enabled(mod)) { in rsnd_src_set_convert_rate()
246 switch (rsnd_mod_id(mod)) { in rsnd_src_set_convert_rate()
261 tmp = rsnd_get_busif_shift(io, mod); in rsnd_src_set_convert_rate()
265 rsnd_mod_write(mod, SRC_ROUTE_MODE0, route); in rsnd_src_set_convert_rate()
267 rsnd_mod_write(mod, SRC_SRCIR, 1); /* initialize */ in rsnd_src_set_convert_rate()
268 rsnd_mod_write(mod, SRC_ADINR, adinr); in rsnd_src_set_convert_rate()
269 rsnd_mod_write(mod, SRC_IFSCR, ifscr); in rsnd_src_set_convert_rate()
270 rsnd_mod_write(mod, SRC_IFSVR, fsrate); in rsnd_src_set_convert_rate()
271 rsnd_mod_write(mod, SRC_SRCCR, cr); in rsnd_src_set_convert_rate()
272 rsnd_mod_write(mod, SRC_BSDSR, bsdsr); in rsnd_src_set_convert_rate()
273 rsnd_mod_write(mod, SRC_BSISR, bsisr); in rsnd_src_set_convert_rate()
274 rsnd_mod_write(mod, SRC_SRCIR, 0); /* cancel initialize */ in rsnd_src_set_convert_rate()
276 rsnd_mod_write(mod, SRC_I_BUSIF_MODE, i_busif); in rsnd_src_set_convert_rate()
277 rsnd_mod_write(mod, SRC_O_BUSIF_MODE, o_busif); in rsnd_src_set_convert_rate()
279 rsnd_mod_write(mod, SRC_BUSIF_DALIGN, rsnd_get_dalign(mod, io)); in rsnd_src_set_convert_rate()
281 rsnd_adg_set_src_timesel_gen2(mod, io, fin, fout); in rsnd_src_set_convert_rate()
284 static int rsnd_src_irq(struct rsnd_mod *mod, in rsnd_src_irq() argument
289 struct rsnd_src *src = rsnd_mod_to_src(mod); in rsnd_src_irq()
292 int id = rsnd_mod_id(mod); in rsnd_src_irq()
313 if (rsnd_src_sync_is_enabled(mod)) in rsnd_src_irq()
316 rsnd_mod_write(mod, SRC_INT_ENABLE0, int_val); in rsnd_src_irq()
317 rsnd_mod_bset(mod, SCU_SYS_INT_EN0, sys_int_mask, sys_int_val); in rsnd_src_irq()
318 rsnd_mod_bset(mod, SCU_SYS_INT_EN1, sys_int_mask, sys_int_val); in rsnd_src_irq()
323 static void rsnd_src_status_clear(struct rsnd_mod *mod) in rsnd_src_status_clear() argument
325 u32 val = OUF_SRC(rsnd_mod_id(mod)); in rsnd_src_status_clear()
327 rsnd_mod_write(mod, SCU_SYS_STATUS0, val); in rsnd_src_status_clear()
328 rsnd_mod_write(mod, SCU_SYS_STATUS1, val); in rsnd_src_status_clear()
331 static bool rsnd_src_error_occurred(struct rsnd_mod *mod) in rsnd_src_error_occurred() argument
333 struct rsnd_priv *priv = rsnd_mod_to_priv(mod); in rsnd_src_error_occurred()
339 val0 = val1 = OUF_SRC(rsnd_mod_id(mod)); in rsnd_src_error_occurred()
346 if (rsnd_src_sync_is_enabled(mod)) in rsnd_src_error_occurred()
349 status0 = rsnd_mod_read(mod, SCU_SYS_STATUS0); in rsnd_src_error_occurred()
350 status1 = rsnd_mod_read(mod, SCU_SYS_STATUS1); in rsnd_src_error_occurred()
353 rsnd_mod_name(mod), rsnd_mod_id(mod), in rsnd_src_error_occurred()
362 static int rsnd_src_start(struct rsnd_mod *mod, in rsnd_src_start() argument
373 val = (rsnd_io_to_mod_dvc(io) && !rsnd_src_sync_is_enabled(mod)) ? in rsnd_src_start()
376 rsnd_mod_write(mod, SRC_CTRL, val); in rsnd_src_start()
381 static int rsnd_src_stop(struct rsnd_mod *mod, in rsnd_src_stop() argument
385 rsnd_mod_write(mod, SRC_CTRL, 0); in rsnd_src_stop()
390 static int rsnd_src_init(struct rsnd_mod *mod, in rsnd_src_init() argument
394 struct rsnd_src *src = rsnd_mod_to_src(mod); in rsnd_src_init()
399 rsnd_mod_power_on(mod); in rsnd_src_init()
401 rsnd_src_activation(mod); in rsnd_src_init()
403 rsnd_src_set_convert_rate(io, mod); in rsnd_src_init()
405 rsnd_src_status_clear(mod); in rsnd_src_init()
410 static int rsnd_src_quit(struct rsnd_mod *mod, in rsnd_src_quit() argument
414 struct rsnd_src *src = rsnd_mod_to_src(mod); in rsnd_src_quit()
416 rsnd_src_halt(mod); in rsnd_src_quit()
418 rsnd_mod_power_off(mod); in rsnd_src_quit()
426 static void __rsnd_src_interrupt(struct rsnd_mod *mod, in __rsnd_src_interrupt() argument
429 struct rsnd_priv *priv = rsnd_mod_to_priv(mod); in __rsnd_src_interrupt()
438 if (rsnd_src_error_occurred(mod)) in __rsnd_src_interrupt()
441 rsnd_src_status_clear(mod); in __rsnd_src_interrupt()
452 struct rsnd_mod *mod = data; in rsnd_src_interrupt() local
454 rsnd_mod_interrupt(mod, __rsnd_src_interrupt); in rsnd_src_interrupt()
459 static int rsnd_src_probe_(struct rsnd_mod *mod, in rsnd_src_probe_() argument
463 struct rsnd_src *src = rsnd_mod_to_src(mod); in rsnd_src_probe_()
477 dev_name(dev), mod); in rsnd_src_probe_()
482 ret = rsnd_dma_attach(io, mod, &src->dma); in rsnd_src_probe_()
487 static int rsnd_src_pcm_new(struct rsnd_mod *mod, in rsnd_src_pcm_new() argument
491 struct rsnd_src *src = rsnd_mod_to_src(mod); in rsnd_src_pcm_new()
508 ret = rsnd_kctrl_new_s(mod, io, rtd, in rsnd_src_pcm_new()
518 ret = rsnd_kctrl_new_s(mod, io, rtd, in rsnd_src_pcm_new()