Lines Matching full:cdns
49 struct sdw_cdns *cdns = &sdw->cdns; in intel_ace2x_bpt_open_stream() local
50 struct sdw_bus *bus = &cdns->bus; in intel_ace2x_bpt_open_stream()
74 cdns->bus.bpt_stream = stream; in intel_ace2x_bpt_open_stream()
83 pdi0 = sdw_cdns_alloc_pdi(cdns, &cdns->pcm, 1, dir, 0); in intel_ace2x_bpt_open_stream()
85 dev_err(cdns->dev, "%s: sdw_cdns_alloc_pdi0 failed\n", __func__); in intel_ace2x_bpt_open_stream()
90 sdw_cdns_config_stream(cdns, 1, dir, pdi0); in intel_ace2x_bpt_open_stream()
95 pdi1 = sdw_cdns_alloc_pdi(cdns, &cdns->pcm, 1, dir, 1); in intel_ace2x_bpt_open_stream()
97 dev_err(cdns->dev, "%s: sdw_cdns_alloc_pdi1 failed\n", __func__); in intel_ace2x_bpt_open_stream()
102 sdw_cdns_config_stream(cdns, 1, dir, pdi1); in intel_ace2x_bpt_open_stream()
126 ret = sdw_stream_add_master(&cdns->bus, &sconfig, pconfig, 2, stream); in intel_ace2x_bpt_open_stream()
130 dev_err(cdns->dev, "add master to stream failed:%d\n", ret); in intel_ace2x_bpt_open_stream()
134 ret = sdw_prepare_stream(cdns->bus.bpt_stream); in intel_ace2x_bpt_open_stream()
140 ret = sdw_cdns_bpt_find_buffer_sizes(command, cdns->bus.params.row, cdns->bus.params.col, in intel_ace2x_bpt_open_stream()
155 dev_dbg(cdns->dev, "Message len %d transferred in %d frames (%d per frame)\n", in intel_ace2x_bpt_open_stream()
157 dev_dbg(cdns->dev, "sizes pdi0 %d pdi1 %d tx_bandwidth %d rx_bandwidth %d\n", in intel_ace2x_bpt_open_stream()
160 ret = hda_sdw_bpt_open(cdns->dev->parent, /* PCI device */ in intel_ace2x_bpt_open_stream()
166 dev_err(cdns->dev, "%s: hda_sdw_bpt_open failed %d\n", __func__, ret); in intel_ace2x_bpt_open_stream()
185 dev_err(cdns->dev, "%s: sdw_prepare_%s_dma_buffer failed %d\n", in intel_ace2x_bpt_open_stream()
188 ret1 = hda_sdw_bpt_close(cdns->dev->parent, /* PCI device */ in intel_ace2x_bpt_open_stream()
192 dev_err(cdns->dev, "%s: hda_sdw_bpt_close failed: ret %d\n", in intel_ace2x_bpt_open_stream()
196 sdw_deprepare_stream(cdns->bus.bpt_stream); in intel_ace2x_bpt_open_stream()
199 ret1 = sdw_stream_remove_master(&cdns->bus, cdns->bus.bpt_stream); in intel_ace2x_bpt_open_stream()
201 dev_err(cdns->dev, "%s: remove master failed: %d\n", in intel_ace2x_bpt_open_stream()
205 ret1 = sdw_stream_remove_slave(slave, cdns->bus.bpt_stream); in intel_ace2x_bpt_open_stream()
207 dev_err(cdns->dev, "%s: remove slave failed: %d\n", in intel_ace2x_bpt_open_stream()
211 sdw_release_stream(cdns->bus.bpt_stream); in intel_ace2x_bpt_open_stream()
212 cdns->bus.bpt_stream = NULL; in intel_ace2x_bpt_open_stream()
220 struct sdw_cdns *cdns = &sdw->cdns; in intel_ace2x_bpt_close_stream() local
223 ret = hda_sdw_bpt_close(cdns->dev->parent /* PCI device */, sdw->bpt_ctx.bpt_tx_stream, in intel_ace2x_bpt_close_stream()
227 dev_err(cdns->dev, "%s: hda_sdw_bpt_close failed: ret %d\n", in intel_ace2x_bpt_close_stream()
230 ret = sdw_deprepare_stream(cdns->bus.bpt_stream); in intel_ace2x_bpt_close_stream()
232 dev_err(cdns->dev, "%s: sdw_deprepare_stream failed: ret %d\n", in intel_ace2x_bpt_close_stream()
235 ret = sdw_stream_remove_master(&cdns->bus, cdns->bus.bpt_stream); in intel_ace2x_bpt_close_stream()
237 dev_err(cdns->dev, "%s: remove master failed: %d\n", in intel_ace2x_bpt_close_stream()
240 ret = sdw_stream_remove_slave(slave, cdns->bus.bpt_stream); in intel_ace2x_bpt_close_stream()
242 dev_err(cdns->dev, "%s: remove slave failed: %d\n", in intel_ace2x_bpt_close_stream()
245 cdns->bus.bpt_stream = NULL; in intel_ace2x_bpt_close_stream()
253 struct sdw_cdns *cdns = &sdw->cdns; in intel_ace2x_bpt_send_async() local
257 dev_err(cdns->dev, "BPT message length %d is not a multiple of %d bytes\n", in intel_ace2x_bpt_send_async()
262 dev_dbg(cdns->dev, "BPT Transfer start\n"); in intel_ace2x_bpt_send_async()
268 ret = hda_sdw_bpt_send_async(cdns->dev->parent, /* PCI device */ in intel_ace2x_bpt_send_async()
271 dev_err(cdns->dev, "%s: hda_sdw_bpt_send_async failed: %d\n", in intel_ace2x_bpt_send_async()
279 ret = sdw_enable_stream(cdns->bus.bpt_stream); in intel_ace2x_bpt_send_async()
281 dev_err(cdns->dev, "%s: sdw_stream_enable failed: %d\n", in intel_ace2x_bpt_send_async()
292 struct sdw_cdns *cdns = &sdw->cdns; in intel_ace2x_bpt_wait() local
295 dev_dbg(cdns->dev, "BPT Transfer wait\n"); in intel_ace2x_bpt_wait()
297 ret = hda_sdw_bpt_wait(cdns->dev->parent, /* PCI device */ in intel_ace2x_bpt_wait()
300 dev_err(cdns->dev, "%s: hda_sdw_bpt_wait failed: %d\n", __func__, ret); in intel_ace2x_bpt_wait()
302 ret = sdw_disable_stream(cdns->bus.bpt_stream); in intel_ace2x_bpt_wait()
304 dev_err(cdns->dev, "%s: sdw_stream_enable failed: %d\n", in intel_ace2x_bpt_wait()
310 ret = sdw_cdns_check_write_response(cdns->dev, sdw->bpt_ctx.dmab_rx_bdl.area, in intel_ace2x_bpt_wait()
314 dev_err(cdns->dev, "%s: BPT Write failed %d\n", __func__, ret); in intel_ace2x_bpt_wait()
316 ret = sdw_cdns_check_read_response(cdns->dev, sdw->bpt_ctx.dmab_rx_bdl.area, in intel_ace2x_bpt_wait()
321 dev_err(cdns->dev, "%s: BPT Read failed %d\n", __func__, ret); in intel_ace2x_bpt_wait()
337 struct sdw_bus *bus = &sdw->cdns.bus; in intel_shim_vs_init()
387 dev_dbg(sdw->cdns.dev, "clock source %d LVSCTL %#x\n", source, val); in intel_shim_vs_set_clock_source()
436 struct sdw_bus *bus = &sdw->cdns.bus; in intel_link_power_up()
461 dev_err(sdw->cdns.dev, "%s: hdac_bus_eml_sdw_power_up failed: %d\n", in intel_link_power_up()
470 dev_dbg(sdw->cdns.dev, "first link up, programming SYNCPRD\n"); in intel_link_power_up()
474 dev_err(sdw->cdns.dev, "%s: hdac_bus_eml_sdw_set_syncprd failed: %d\n", in intel_link_power_up()
482 dev_err(sdw->cdns.dev, "%s: hdac_bus_eml_sdw_wait_syncpu failed: %d\n", in intel_link_power_up()
493 sdw->cdns.link_up = true; in intel_link_power_up()
511 sdw->cdns.link_up = false; in intel_link_power_down()
521 dev_err(sdw->cdns.dev, "%s: hdac_bus_eml_sdw_power_down failed: %d\n", in intel_link_power_down()
525 * we leave the sdw->cdns.link_up flag as false since we've disabled in intel_link_power_down()
552 dev_err(sdw->cdns.dev, "%s: SyncGO clear failed: %d\n", __func__, ret); in intel_sync_go_unlocked()
624 struct sdw_cdns *cdns = snd_soc_dai_get_drvdata(dai); in intel_hw_params() local
625 struct sdw_intel *sdw = cdns_to_intel(cdns); in intel_hw_params()
632 dai_runtime = cdns->dai_runtime_array[dai->id]; in intel_hw_params()
642 pdi = sdw_cdns_alloc_pdi(cdns, &cdns->pcm, ch, dir, dai->id); in intel_hw_params()
653 sdw_cdns_config_stream(cdns, ch, dir, pdi); in intel_hw_params()
683 ret = sdw_stream_add_master(&cdns->bus, &sconfig, in intel_hw_params()
686 dev_err(cdns->dev, "add master to stream failed:%d\n", ret); in intel_hw_params()
695 struct sdw_cdns *cdns = snd_soc_dai_get_drvdata(dai); in intel_prepare() local
696 struct sdw_intel *sdw = cdns_to_intel(cdns); in intel_prepare()
701 dai_runtime = cdns->dai_runtime_array[dai->id]; in intel_prepare()
729 sdw_cdns_config_stream(cdns, ch, dir, dai_runtime->pdi); in intel_prepare()
740 struct sdw_cdns *cdns = snd_soc_dai_get_drvdata(dai); in intel_hw_free() local
741 struct sdw_intel *sdw = cdns_to_intel(cdns); in intel_hw_free()
745 dai_runtime = cdns->dai_runtime_array[dai->id]; in intel_hw_free()
755 ret = sdw_stream_remove_master(&cdns->bus, dai_runtime->stream); in intel_hw_free()
782 struct sdw_cdns *cdns = snd_soc_dai_get_drvdata(dai); in intel_get_sdw_stream() local
785 dai_runtime = cdns->dai_runtime_array[dai->id]; in intel_get_sdw_stream()
794 struct sdw_cdns *cdns = snd_soc_dai_get_drvdata(dai); in intel_trigger() local
795 struct sdw_intel *sdw = cdns_to_intel(cdns); in intel_trigger()
810 dai_runtime = cdns->dai_runtime_array[dai->id]; in intel_trigger()
874 dev_dbg(sdw->cdns.dev, "PCM cap bd:%d in:%d out:%d\n", in intel_pdi_init()
917 static int intel_create_dai(struct sdw_cdns *cdns, in intel_create_dai() argument
928 dais[i].name = devm_kasprintf(cdns->dev, GFP_KERNEL, in intel_create_dai()
930 cdns->instance, i); in intel_create_dai()
954 struct sdw_cdns *cdns = &sdw->cdns; in intel_register_dai() local
963 ret = sdw_cdns_pdi_init(cdns, config); in intel_register_dai()
967 intel_pdi_stream_ch_update(sdw, &sdw->cdns.pcm); in intel_register_dai()
970 num_dai = cdns->pcm.num_pdi; in intel_register_dai()
972 dai_runtime_array = devm_kcalloc(cdns->dev, num_dai, in intel_register_dai()
977 cdns->dai_runtime_array = dai_runtime_array; in intel_register_dai()
979 dais = devm_kcalloc(cdns->dev, num_dai, sizeof(*dais), GFP_KERNEL); in intel_register_dai()
984 stream = &cdns->pcm; in intel_register_dai()
986 ret = intel_create_dai(cdns, dais, INTEL_PDI_IN, cdns->pcm.num_in, in intel_register_dai()
991 off += cdns->pcm.num_in; in intel_register_dai()
992 ret = intel_create_dai(cdns, dais, INTEL_PDI_OUT, cdns->pcm.num_out, in intel_register_dai()
997 off += cdns->pcm.num_out; in intel_register_dai()
998 ret = intel_create_dai(cdns, dais, INTEL_PDI_BD, cdns->pcm.num_bd, in intel_register_dai()
1003 return devm_snd_soc_register_component(cdns->dev, &dai_component, in intel_register_dai()
1013 dev_err(sdw->cdns.dev, "%s: could not set lsdiid for link %d %d\n", in intel_program_sdi()
1023 dev_err(sdw->cdns.dev, "%s: could not retrieve link count\n", __func__); in intel_get_link_count()
1028 dev_err(sdw->cdns.dev, "%s: link count %d exceed max %d\n", __func__, ret, SDW_INTEL_MAX_LINKS); in intel_get_link_count()