Lines Matching refs:simple_dai
249 struct asoc_simple_dai *simple_dai, in asoc_simple_parse_clk() argument
262 simple_dai->clk_fixed = of_property_read_bool( in asoc_simple_parse_clk()
265 simple_dai->sysclk = clk_get_rate(clk); in asoc_simple_parse_clk()
267 simple_dai->clk = clk; in asoc_simple_parse_clk()
269 simple_dai->sysclk = val; in asoc_simple_parse_clk()
270 simple_dai->clk_fixed = true; in asoc_simple_parse_clk()
274 simple_dai->sysclk = clk_get_rate(clk); in asoc_simple_parse_clk()
278 simple_dai->clk_direction = SND_SOC_CLOCK_OUT; in asoc_simple_parse_clk()
390 struct asoc_simple_dai *simple_dai, in asoc_simple_set_clk_rate() argument
393 if (!simple_dai) in asoc_simple_set_clk_rate()
396 if (simple_dai->clk_fixed && rate != simple_dai->sysclk) { in asoc_simple_set_clk_rate()
397 dev_err(dev, "dai %s invalid clock rate %lu\n", simple_dai->name, rate); in asoc_simple_set_clk_rate()
401 if (!simple_dai->clk) in asoc_simple_set_clk_rate()
404 if (clk_get_rate(simple_dai->clk) == rate) in asoc_simple_set_clk_rate()
407 return clk_set_rate(simple_dai->clk, rate); in asoc_simple_set_clk_rate()
411 struct asoc_simple_dai *simple_dai, in asoc_simple_set_tdm() argument
418 if (!simple_dai || !simple_dai->tdm_width_map) in asoc_simple_set_tdm()
421 slot_width = simple_dai->slot_width; in asoc_simple_set_tdm()
422 slot_count = simple_dai->slots; in asoc_simple_set_tdm()
427 for (i = 0; i < simple_dai->n_tdm_widths; ++i) { in asoc_simple_set_tdm()
428 if (simple_dai->tdm_width_map[i].sample_bits == sample_bits) { in asoc_simple_set_tdm()
429 slot_width = simple_dai->tdm_width_map[i].slot_width; in asoc_simple_set_tdm()
430 slot_count = simple_dai->tdm_width_map[i].slot_count; in asoc_simple_set_tdm()
436 simple_dai->tx_slot_mask, in asoc_simple_set_tdm()
437 simple_dai->rx_slot_mask, in asoc_simple_set_tdm()
533 struct asoc_simple_dai *simple_dai) in asoc_simple_init_dai() argument
537 if (!simple_dai) in asoc_simple_init_dai()
540 if (simple_dai->sysclk) { in asoc_simple_init_dai()
541 ret = snd_soc_dai_set_sysclk(dai, 0, simple_dai->sysclk, in asoc_simple_init_dai()
542 simple_dai->clk_direction); in asoc_simple_init_dai()
549 if (simple_dai->slots) { in asoc_simple_init_dai()
551 simple_dai->tx_slot_mask, in asoc_simple_init_dai()
552 simple_dai->rx_slot_mask, in asoc_simple_init_dai()
553 simple_dai->slots, in asoc_simple_init_dai()
554 simple_dai->slot_width); in asoc_simple_init_dai()