• Home
  • Raw
  • Download

Lines Matching refs:dai

119 			    struct snd_soc_dai *dai)  in q6slim_hw_params()  argument
122 struct q6afe_dai_data *dai_data = dev_get_drvdata(dai->dev); in q6slim_hw_params()
123 struct q6afe_slim_cfg *slim = &dai_data->port_config[dai->id].slim; in q6slim_hw_params()
149 struct snd_soc_dai *dai) in q6hdmi_hw_params() argument
151 struct q6afe_dai_data *dai_data = dev_get_drvdata(dai->dev); in q6hdmi_hw_params()
153 struct q6afe_hdmi_cfg *hdmi = &dai_data->port_config[dai->id].hdmi; in q6hdmi_hw_params()
189 dev_err(dai->dev, "invalid Channels = %u\n", channels); in q6hdmi_hw_params()
198 struct snd_soc_dai *dai) in q6i2s_hw_params() argument
200 struct q6afe_dai_data *dai_data = dev_get_drvdata(dai->dev); in q6i2s_hw_params()
201 struct q6afe_i2s_cfg *i2s = &dai_data->port_config[dai->id].i2s_cfg; in q6i2s_hw_params()
206 i2s->sd_line_mask = dai_data->priv[dai->id].sd_line_mask; in q6i2s_hw_params()
211 static int q6i2s_set_fmt(struct snd_soc_dai *dai, unsigned int fmt) in q6i2s_set_fmt() argument
213 struct q6afe_dai_data *dai_data = dev_get_drvdata(dai->dev); in q6i2s_set_fmt()
214 struct q6afe_i2s_cfg *i2s = &dai_data->port_config[dai->id].i2s_cfg; in q6i2s_set_fmt()
221 static int q6tdm_set_tdm_slot(struct snd_soc_dai *dai, in q6tdm_set_tdm_slot() argument
227 struct q6afe_dai_data *dai_data = dev_get_drvdata(dai->dev); in q6tdm_set_tdm_slot()
228 struct q6afe_tdm_cfg *tdm = &dai_data->port_config[dai->id].tdm; in q6tdm_set_tdm_slot()
234 dev_err(dai->dev, "%s: invalid slot_width %d\n", in q6tdm_set_tdm_slot()
254 dev_err(dai->dev, "%s: invalid slots %d\n", in q6tdm_set_tdm_slot()
259 switch (dai->id) { in q6tdm_set_tdm_slot()
264 tdm->slot_mask = ((dai->id & 0x1) ? tx_mask : rx_mask) & cap_mask; in q6tdm_set_tdm_slot()
267 dev_err(dai->dev, "%s: invalid dai id 0x%x\n", in q6tdm_set_tdm_slot()
268 __func__, dai->id); in q6tdm_set_tdm_slot()
275 static int q6tdm_set_channel_map(struct snd_soc_dai *dai, in q6tdm_set_channel_map() argument
280 struct q6afe_dai_data *dai_data = dev_get_drvdata(dai->dev); in q6tdm_set_channel_map()
281 struct q6afe_tdm_cfg *tdm = &dai_data->port_config[dai->id].tdm; in q6tdm_set_channel_map()
285 switch (dai->id) { in q6tdm_set_channel_map()
287 if (dai->id & 0x1) { in q6tdm_set_channel_map()
289 dev_err(dai->dev, "tx slot not found\n"); in q6tdm_set_channel_map()
293 dev_err(dai->dev, "invalid tx num %d\n", in q6tdm_set_channel_map()
308 dev_err(dai->dev, "rx slot not found\n"); in q6tdm_set_channel_map()
312 dev_err(dai->dev, "invalid rx num %d\n", in q6tdm_set_channel_map()
328 dev_err(dai->dev, "%s: invalid dai id 0x%x\n", in q6tdm_set_channel_map()
329 __func__, dai->id); in q6tdm_set_channel_map()
338 struct snd_soc_dai *dai) in q6tdm_hw_params() argument
340 struct q6afe_dai_data *dai_data = dev_get_drvdata(dai->dev); in q6tdm_hw_params()
341 struct q6afe_tdm_cfg *tdm = &dai_data->port_config[dai->id].tdm; in q6tdm_hw_params()
346 tdm->data_align_type = dai_data->priv[dai->id].data_align; in q6tdm_hw_params()
347 tdm->sync_src = dai_data->priv[dai->id].sync_src; in q6tdm_hw_params()
348 tdm->sync_mode = dai_data->priv[dai->id].sync_mode; in q6tdm_hw_params()
353 static int q6dma_set_channel_map(struct snd_soc_dai *dai, in q6dma_set_channel_map() argument
358 struct q6afe_dai_data *dai_data = dev_get_drvdata(dai->dev); in q6dma_set_channel_map()
359 struct q6afe_cdc_dma_cfg *cfg = &dai_data->port_config[dai->id].dma_cfg; in q6dma_set_channel_map()
363 switch (dai->id) { in q6dma_set_channel_map()
377 dev_err(dai->dev, "tx slot not found\n"); in q6dma_set_channel_map()
382 dev_err(dai->dev, "invalid tx num %d\n", in q6dma_set_channel_map()
401 dev_err(dai->dev, "rx slot not found\n"); in q6dma_set_channel_map()
405 dev_err(dai->dev, "invalid rx num %d\n", in q6dma_set_channel_map()
413 dev_err(dai->dev, "%s: invalid dai id 0x%x\n", in q6dma_set_channel_map()
414 __func__, dai->id); in q6dma_set_channel_map()
425 struct snd_soc_dai *dai) in q6dma_hw_params() argument
427 struct q6afe_dai_data *dai_data = dev_get_drvdata(dai->dev); in q6dma_hw_params()
428 struct q6afe_cdc_dma_cfg *cfg = &dai_data->port_config[dai->id].dma_cfg; in q6dma_hw_params()
437 struct snd_soc_dai *dai) in q6afe_dai_shutdown() argument
439 struct q6afe_dai_data *dai_data = dev_get_drvdata(dai->dev); in q6afe_dai_shutdown()
442 if (!dai_data->is_port_started[dai->id]) in q6afe_dai_shutdown()
445 rc = q6afe_port_stop(dai_data->port[dai->id]); in q6afe_dai_shutdown()
447 dev_err(dai->dev, "fail to close AFE port (%d)\n", rc); in q6afe_dai_shutdown()
449 dai_data->is_port_started[dai->id] = false; in q6afe_dai_shutdown()
454 struct snd_soc_dai *dai) in q6afe_dai_prepare() argument
456 struct q6afe_dai_data *dai_data = dev_get_drvdata(dai->dev); in q6afe_dai_prepare()
459 if (dai_data->is_port_started[dai->id]) { in q6afe_dai_prepare()
461 rc = q6afe_port_stop(dai_data->port[dai->id]); in q6afe_dai_prepare()
463 dev_err(dai->dev, "fail to close AFE port (%d)\n", rc); in q6afe_dai_prepare()
468 switch (dai->id) { in q6afe_dai_prepare()
471 q6afe_hdmi_port_prepare(dai_data->port[dai->id], in q6afe_dai_prepare()
472 &dai_data->port_config[dai->id].hdmi); in q6afe_dai_prepare()
475 q6afe_slim_port_prepare(dai_data->port[dai->id], in q6afe_dai_prepare()
476 &dai_data->port_config[dai->id].slim); in q6afe_dai_prepare()
480 rc = q6afe_i2s_port_prepare(dai_data->port[dai->id], in q6afe_dai_prepare()
481 &dai_data->port_config[dai->id].i2s_cfg); in q6afe_dai_prepare()
483 dev_err(dai->dev, "fail to prepare AFE port %x\n", in q6afe_dai_prepare()
484 dai->id); in q6afe_dai_prepare()
489 q6afe_tdm_port_prepare(dai_data->port[dai->id], in q6afe_dai_prepare()
490 &dai_data->port_config[dai->id].tdm); in q6afe_dai_prepare()
493 q6afe_cdc_dma_port_prepare(dai_data->port[dai->id], in q6afe_dai_prepare()
494 &dai_data->port_config[dai->id].dma_cfg); in q6afe_dai_prepare()
500 rc = q6afe_port_start(dai_data->port[dai->id]); in q6afe_dai_prepare()
502 dev_err(dai->dev, "fail to start AFE port %x\n", dai->id); in q6afe_dai_prepare()
505 dai_data->is_port_started[dai->id] = true; in q6afe_dai_prepare()
510 static int q6slim_set_channel_map(struct snd_soc_dai *dai, in q6slim_set_channel_map() argument
514 struct q6afe_dai_data *dai_data = dev_get_drvdata(dai->dev); in q6slim_set_channel_map()
515 struct q6afe_port_config *pcfg = &dai_data->port_config[dai->id]; in q6slim_set_channel_map()
518 if (dai->id & 0x1) { in q6slim_set_channel_map()
547 static int q6afe_mi2s_set_sysclk(struct snd_soc_dai *dai, in q6afe_mi2s_set_sysclk() argument
550 struct q6afe_dai_data *dai_data = dev_get_drvdata(dai->dev); in q6afe_mi2s_set_sysclk()
551 struct q6afe_port *port = dai_data->port[dai->id]; in q6afe_mi2s_set_sysclk()
762 static int msm_dai_q6_dai_probe(struct snd_soc_dai *dai) in msm_dai_q6_dai_probe() argument
764 struct q6afe_dai_data *dai_data = dev_get_drvdata(dai->dev); in msm_dai_q6_dai_probe()
767 port = q6afe_port_get_from_id(dai->dev, dai->id); in msm_dai_q6_dai_probe()
769 dev_err(dai->dev, "Unable to get afe port\n"); in msm_dai_q6_dai_probe()
772 dai_data->port[dai->id] = port; in msm_dai_q6_dai_probe()
777 static int msm_dai_q6_dai_remove(struct snd_soc_dai *dai) in msm_dai_q6_dai_remove() argument
779 struct q6afe_dai_data *dai_data = dev_get_drvdata(dai->dev); in msm_dai_q6_dai_remove()
781 q6afe_port_put(dai_data->port[dai->id]); in msm_dai_q6_dai_remove()
782 dai_data->port[dai->id] = NULL; in msm_dai_q6_dai_remove()