Lines Matching refs:drvdata

36 	struct ux500_msp_i2s_drvdata *drvdata = dev_get_drvdata(dai->dev);  in setup_pcm_multichan()  local
40 if (drvdata->slots > 1) { in setup_pcm_multichan()
47 multi->tx_channel_0_enable = drvdata->tx_mask; in setup_pcm_multichan()
52 multi->rx_channel_0_enable = drvdata->rx_mask; in setup_pcm_multichan()
59 __func__, drvdata->slots, multi->tx_channel_0_enable, in setup_pcm_multichan()
69 struct ux500_msp_i2s_drvdata *drvdata = dev_get_drvdata(dai->dev); in setup_frameper() local
71 switch (drvdata->slots) { in setup_frameper()
116 __func__, drvdata->slots); in setup_frameper()
133 struct ux500_msp_i2s_drvdata *drvdata = dev_get_drvdata(dai->dev); in setup_pcm_framing() local
138 switch (drvdata->slots) { in setup_pcm_framing()
157 __func__, drvdata->slots); in setup_pcm_framing()
307 struct ux500_msp_i2s_drvdata *drvdata = dev_get_drvdata(dai->dev); in setup_msp_config() local
310 unsigned int fmt = drvdata->fmt; in setup_msp_config()
315 msp_config->f_inputclk = drvdata->master_clk; in setup_msp_config()
389 struct ux500_msp_i2s_drvdata *drvdata = dev_get_drvdata(dai->dev); in ux500_msp_dai_startup() local
395 ret = regulator_enable(drvdata->reg_vape); in ux500_msp_dai_startup()
397 dev_err(drvdata->msp->dev, in ux500_msp_dai_startup()
404 ret = clk_prepare_enable(drvdata->pclk); in ux500_msp_dai_startup()
406 dev_err(drvdata->msp->dev, in ux500_msp_dai_startup()
411 ret = clk_prepare_enable(drvdata->clk); in ux500_msp_dai_startup()
413 dev_err(drvdata->msp->dev, in ux500_msp_dai_startup()
420 clk_disable_unprepare(drvdata->pclk); in ux500_msp_dai_startup()
422 regulator_disable(drvdata->reg_vape); in ux500_msp_dai_startup()
430 struct ux500_msp_i2s_drvdata *drvdata = dev_get_drvdata(dai->dev); in ux500_msp_dai_shutdown() local
436 if (drvdata->vape_opp_constraint == 1) { in ux500_msp_dai_shutdown()
439 drvdata->vape_opp_constraint = 0; in ux500_msp_dai_shutdown()
442 if (ux500_msp_i2s_close(drvdata->msp, in ux500_msp_dai_shutdown()
450 clk_disable_unprepare(drvdata->clk); in ux500_msp_dai_shutdown()
451 clk_disable_unprepare(drvdata->pclk); in ux500_msp_dai_shutdown()
454 ret = regulator_disable(drvdata->reg_vape); in ux500_msp_dai_shutdown()
465 struct ux500_msp_i2s_drvdata *drvdata = dev_get_drvdata(dai->dev); in ux500_msp_dai_prepare() local
474 ret = ux500_msp_i2s_open(drvdata->msp, &msp_config); in ux500_msp_dai_prepare()
482 if ((drvdata->fmt & SND_SOC_DAIFMT_MASTER_MASK) && in ux500_msp_dai_prepare()
483 (drvdata->msp->f_bitclk > 19200000)) { in ux500_msp_dai_prepare()
488 drvdata->vape_opp_constraint = 1; in ux500_msp_dai_prepare()
492 drvdata->vape_opp_constraint = 0; in ux500_msp_dai_prepare()
504 struct ux500_msp_i2s_drvdata *drvdata = dev_get_drvdata(dai->dev); in ux500_msp_dai_hw_params() local
509 switch (drvdata->fmt & SND_SOC_DAIFMT_FORMAT_MASK) { in ux500_msp_dai_hw_params()
519 drvdata->tx_mask : in ux500_msp_dai_hw_params()
520 drvdata->rx_mask; in ux500_msp_dai_hw_params()
533 __func__, drvdata->fmt); in ux500_msp_dai_hw_params()
543 struct ux500_msp_i2s_drvdata *drvdata = dev_get_drvdata(dai->dev); in ux500_msp_dai_set_dai_fmt() local
560 __func__, drvdata->fmt); in ux500_msp_dai_set_dai_fmt()
573 __func__, drvdata->fmt); in ux500_msp_dai_set_dai_fmt()
577 drvdata->fmt = fmt; in ux500_msp_dai_set_dai_fmt()
586 struct ux500_msp_i2s_drvdata *drvdata = dev_get_drvdata(dai->dev); in ux500_msp_dai_set_tdm_slot() local
607 drvdata->slots = slots; in ux500_msp_dai_set_tdm_slot()
614 drvdata->slot_width = slot_width; in ux500_msp_dai_set_tdm_slot()
616 drvdata->tx_mask = tx_mask & cap; in ux500_msp_dai_set_tdm_slot()
617 drvdata->rx_mask = rx_mask & cap; in ux500_msp_dai_set_tdm_slot()
625 struct ux500_msp_i2s_drvdata *drvdata = dev_get_drvdata(dai->dev); in ux500_msp_dai_set_dai_sysclk() local
632 drvdata->master_clk = freq; in ux500_msp_dai_set_dai_sysclk()
648 struct ux500_msp_i2s_drvdata *drvdata = dev_get_drvdata(dai->dev); in ux500_msp_dai_trigger() local
652 (int)drvdata->msp->id, cmd); in ux500_msp_dai_trigger()
654 ret = ux500_msp_i2s_trigger(drvdata->msp, cmd, substream->stream); in ux500_msp_dai_trigger()
661 struct ux500_msp_i2s_drvdata *drvdata = dev_get_drvdata(dai->dev); in ux500_msp_dai_of_probe() local
677 playback_dma_data->addr = drvdata->msp->playback_dma_data.tx_rx_addr; in ux500_msp_dai_of_probe()
678 capture_dma_data->addr = drvdata->msp->capture_dma_data.tx_rx_addr; in ux500_msp_dai_of_probe()
690 struct ux500_msp_i2s_drvdata *drvdata = dev_get_drvdata(dai->dev); in ux500_msp_dai_probe() local
699 drvdata->msp->playback_dma_data.data_size = drvdata->slot_width; in ux500_msp_dai_probe()
700 drvdata->msp->capture_dma_data.data_size = drvdata->slot_width; in ux500_msp_dai_probe()
703 &drvdata->msp->playback_dma_data, in ux500_msp_dai_probe()
704 &drvdata->msp->capture_dma_data); in ux500_msp_dai_probe()
743 struct ux500_msp_i2s_drvdata *drvdata; in ux500_msp_drv_probe() local
753 drvdata = devm_kzalloc(&pdev->dev, in ux500_msp_drv_probe()
756 if (!drvdata) in ux500_msp_drv_probe()
759 drvdata->fmt = 0; in ux500_msp_drv_probe()
760 drvdata->slots = 1; in ux500_msp_drv_probe()
761 drvdata->tx_mask = 0x01; in ux500_msp_drv_probe()
762 drvdata->rx_mask = 0x01; in ux500_msp_drv_probe()
763 drvdata->slot_width = 16; in ux500_msp_drv_probe()
764 drvdata->master_clk = MSP_INPUT_FREQ_APB; in ux500_msp_drv_probe()
766 drvdata->reg_vape = devm_regulator_get(&pdev->dev, "v-ape"); in ux500_msp_drv_probe()
767 if (IS_ERR(drvdata->reg_vape)) { in ux500_msp_drv_probe()
768 ret = (int)PTR_ERR(drvdata->reg_vape); in ux500_msp_drv_probe()
776 drvdata->pclk = devm_clk_get(&pdev->dev, "apb_pclk"); in ux500_msp_drv_probe()
777 if (IS_ERR(drvdata->pclk)) { in ux500_msp_drv_probe()
778 ret = (int)PTR_ERR(drvdata->pclk); in ux500_msp_drv_probe()
785 drvdata->clk = devm_clk_get(&pdev->dev, NULL); in ux500_msp_drv_probe()
786 if (IS_ERR(drvdata->clk)) { in ux500_msp_drv_probe()
787 ret = (int)PTR_ERR(drvdata->clk); in ux500_msp_drv_probe()
794 ret = ux500_msp_i2s_init_msp(pdev, &drvdata->msp, in ux500_msp_drv_probe()
796 if (!drvdata->msp) { in ux500_msp_drv_probe()
802 dev_set_drvdata(&pdev->dev, drvdata); in ux500_msp_drv_probe()
808 __func__, drvdata->msp->id); in ux500_msp_drv_probe()
829 struct ux500_msp_i2s_drvdata *drvdata = dev_get_drvdata(&pdev->dev); in ux500_msp_drv_remove() local
837 ux500_msp_i2s_cleanup_msp(pdev, drvdata->msp); in ux500_msp_drv_remove()