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
139 switch (drvdata->slots) { in setup_pcm_framing()
158 __func__, drvdata->slots); in setup_pcm_framing()
308 struct ux500_msp_i2s_drvdata *drvdata = dev_get_drvdata(dai->dev); in setup_msp_config() local
311 unsigned int fmt = drvdata->fmt; in setup_msp_config()
316 msp_config->f_inputclk = drvdata->master_clk; in setup_msp_config()
390 struct ux500_msp_i2s_drvdata *drvdata = dev_get_drvdata(dai->dev); in ux500_msp_dai_startup() local
396 ret = regulator_enable(drvdata->reg_vape); in ux500_msp_dai_startup()
398 dev_err(drvdata->msp->dev, in ux500_msp_dai_startup()
405 ret = clk_prepare_enable(drvdata->pclk); in ux500_msp_dai_startup()
407 dev_err(drvdata->msp->dev, in ux500_msp_dai_startup()
412 ret = clk_prepare_enable(drvdata->clk); in ux500_msp_dai_startup()
414 dev_err(drvdata->msp->dev, in ux500_msp_dai_startup()
421 clk_disable_unprepare(drvdata->pclk); in ux500_msp_dai_startup()
423 regulator_disable(drvdata->reg_vape); in ux500_msp_dai_startup()
431 struct ux500_msp_i2s_drvdata *drvdata = dev_get_drvdata(dai->dev); in ux500_msp_dai_shutdown() local
437 if (drvdata->vape_opp_constraint == 1) { in ux500_msp_dai_shutdown()
440 drvdata->vape_opp_constraint = 0; in ux500_msp_dai_shutdown()
443 if (ux500_msp_i2s_close(drvdata->msp, in ux500_msp_dai_shutdown()
451 clk_disable_unprepare(drvdata->clk); in ux500_msp_dai_shutdown()
452 clk_disable_unprepare(drvdata->pclk); in ux500_msp_dai_shutdown()
455 ret = regulator_disable(drvdata->reg_vape); in ux500_msp_dai_shutdown()
466 struct ux500_msp_i2s_drvdata *drvdata = dev_get_drvdata(dai->dev); in ux500_msp_dai_prepare() local
475 ret = ux500_msp_i2s_open(drvdata->msp, &msp_config); in ux500_msp_dai_prepare()
483 if ((drvdata->fmt & SND_SOC_DAIFMT_MASTER_MASK) && in ux500_msp_dai_prepare()
484 (drvdata->msp->f_bitclk > 19200000)) { in ux500_msp_dai_prepare()
490 drvdata->vape_opp_constraint = 1; in ux500_msp_dai_prepare()
494 drvdata->vape_opp_constraint = 0; in ux500_msp_dai_prepare()
506 struct ux500_msp_i2s_drvdata *drvdata = dev_get_drvdata(dai->dev); in ux500_msp_dai_hw_params() local
511 switch (drvdata->fmt & SND_SOC_DAIFMT_FORMAT_MASK) { in ux500_msp_dai_hw_params()
521 drvdata->tx_mask : in ux500_msp_dai_hw_params()
522 drvdata->rx_mask; in ux500_msp_dai_hw_params()
535 __func__, drvdata->fmt); in ux500_msp_dai_hw_params()
545 struct ux500_msp_i2s_drvdata *drvdata = dev_get_drvdata(dai->dev); in ux500_msp_dai_set_dai_fmt() local
562 __func__, drvdata->fmt); in ux500_msp_dai_set_dai_fmt()
575 __func__, drvdata->fmt); in ux500_msp_dai_set_dai_fmt()
579 drvdata->fmt = fmt; in ux500_msp_dai_set_dai_fmt()
588 struct ux500_msp_i2s_drvdata *drvdata = dev_get_drvdata(dai->dev); in ux500_msp_dai_set_tdm_slot() local
609 drvdata->slots = slots; in ux500_msp_dai_set_tdm_slot()
616 drvdata->slot_width = slot_width; in ux500_msp_dai_set_tdm_slot()
618 drvdata->tx_mask = tx_mask & cap; in ux500_msp_dai_set_tdm_slot()
619 drvdata->rx_mask = rx_mask & cap; in ux500_msp_dai_set_tdm_slot()
627 struct ux500_msp_i2s_drvdata *drvdata = dev_get_drvdata(dai->dev); in ux500_msp_dai_set_dai_sysclk() local
634 drvdata->master_clk = freq; in ux500_msp_dai_set_dai_sysclk()
650 struct ux500_msp_i2s_drvdata *drvdata = dev_get_drvdata(dai->dev); in ux500_msp_dai_trigger() local
654 (int)drvdata->msp->id, cmd); in ux500_msp_dai_trigger()
656 ret = ux500_msp_i2s_trigger(drvdata->msp, cmd, substream->stream); in ux500_msp_dai_trigger()
663 struct ux500_msp_i2s_drvdata *drvdata = dev_get_drvdata(dai->dev); in ux500_msp_dai_of_probe() local
679 playback_dma_data->addr = drvdata->msp->playback_dma_data.tx_rx_addr; in ux500_msp_dai_of_probe()
680 capture_dma_data->addr = drvdata->msp->capture_dma_data.tx_rx_addr; in ux500_msp_dai_of_probe()
692 struct ux500_msp_i2s_drvdata *drvdata = dev_get_drvdata(dai->dev); in ux500_msp_dai_probe() local
701 drvdata->msp->playback_dma_data.data_size = drvdata->slot_width; in ux500_msp_dai_probe()
702 drvdata->msp->capture_dma_data.data_size = drvdata->slot_width; in ux500_msp_dai_probe()
705 &drvdata->msp->playback_dma_data, in ux500_msp_dai_probe()
706 &drvdata->msp->capture_dma_data); in ux500_msp_dai_probe()
745 struct ux500_msp_i2s_drvdata *drvdata; in ux500_msp_drv_probe() local
755 drvdata = devm_kzalloc(&pdev->dev, in ux500_msp_drv_probe()
758 if (!drvdata) in ux500_msp_drv_probe()
761 drvdata->fmt = 0; in ux500_msp_drv_probe()
762 drvdata->slots = 1; in ux500_msp_drv_probe()
763 drvdata->tx_mask = 0x01; in ux500_msp_drv_probe()
764 drvdata->rx_mask = 0x01; in ux500_msp_drv_probe()
765 drvdata->slot_width = 16; in ux500_msp_drv_probe()
766 drvdata->master_clk = MSP_INPUT_FREQ_APB; in ux500_msp_drv_probe()
768 drvdata->reg_vape = devm_regulator_get(&pdev->dev, "v-ape"); in ux500_msp_drv_probe()
769 if (IS_ERR(drvdata->reg_vape)) { in ux500_msp_drv_probe()
770 ret = (int)PTR_ERR(drvdata->reg_vape); in ux500_msp_drv_probe()
778 drvdata->pclk = devm_clk_get(&pdev->dev, "apb_pclk"); in ux500_msp_drv_probe()
779 if (IS_ERR(drvdata->pclk)) { in ux500_msp_drv_probe()
780 ret = (int)PTR_ERR(drvdata->pclk); in ux500_msp_drv_probe()
787 drvdata->clk = devm_clk_get(&pdev->dev, NULL); in ux500_msp_drv_probe()
788 if (IS_ERR(drvdata->clk)) { in ux500_msp_drv_probe()
789 ret = (int)PTR_ERR(drvdata->clk); in ux500_msp_drv_probe()
796 ret = ux500_msp_i2s_init_msp(pdev, &drvdata->msp, in ux500_msp_drv_probe()
798 if (!drvdata->msp) { in ux500_msp_drv_probe()
804 dev_set_drvdata(&pdev->dev, drvdata); in ux500_msp_drv_probe()
810 __func__, drvdata->msp->id); in ux500_msp_drv_probe()
831 struct ux500_msp_i2s_drvdata *drvdata = dev_get_drvdata(&pdev->dev); in ux500_msp_drv_remove() local
839 ux500_msp_i2s_cleanup_msp(pdev, drvdata->msp); in ux500_msp_drv_remove()