Lines Matching defs:simple_dai
228 struct asoc_simple_dai *simple_dai,
241 simple_dai->clk_fixed = of_property_read_bool(
244 simple_dai->sysclk = clk_get_rate(clk);
246 simple_dai->clk = clk;
248 simple_dai->sysclk = val;
249 simple_dai->clk_fixed = true;
253 simple_dai->sysclk = clk_get_rate(clk);
257 simple_dai->clk_direction = SND_SOC_CLOCK_OUT;
370 struct asoc_simple_dai *simple_dai,
373 if (!simple_dai)
376 if (simple_dai->clk_fixed && rate != simple_dai->sysclk) {
377 dev_err(dev, "dai %s invalid clock rate %lu\n", simple_dai->name, rate);
381 if (!simple_dai->clk)
384 if (clk_get_rate(simple_dai->clk) == rate)
387 return clk_set_rate(simple_dai->clk, rate);
391 struct asoc_simple_dai *simple_dai,
398 if (!simple_dai || !simple_dai->tdm_width_map)
401 slot_width = simple_dai->slot_width;
402 slot_count = simple_dai->slots;
407 for (i = 0; i < simple_dai->n_tdm_widths; ++i) {
408 if (simple_dai->tdm_width_map[i].sample_bits == sample_bits) {
409 slot_width = simple_dai->tdm_width_map[i].slot_width;
410 slot_count = simple_dai->tdm_width_map[i].slot_count;
416 simple_dai->tx_slot_mask,
417 simple_dai->rx_slot_mask,
525 struct asoc_simple_dai *simple_dai)
529 if (!simple_dai)
532 if (simple_dai->sysclk) {
533 ret = snd_soc_dai_set_sysclk(dai, 0, simple_dai->sysclk,
534 simple_dai->clk_direction);
541 if (simple_dai->slots) {
543 simple_dai->tx_slot_mask,
544 simple_dai->rx_slot_mask,
545 simple_dai->slots,
546 simple_dai->slot_width);