Lines Matching defs:mtkd

139 	struct mtk_uart_apdmadev *mtkd =
152 if (mtkd->support_33bits)
182 struct mtk_uart_apdmadev *mtkd =
195 if (mtkd->support_33bits)
272 struct mtk_uart_apdmadev *mtkd = to_mtk_uart_apdma_dev(chan->device);
277 ret = pm_runtime_resume_and_get(mtkd->ddev.dev);
301 if (mtkd->support_33bits)
305 pm_runtime_put_noidle(mtkd->ddev.dev);
311 struct mtk_uart_apdmadev *mtkd = to_mtk_uart_apdma_dev(chan->device);
320 pm_runtime_put_sync(mtkd->ddev.dev);
460 static void mtk_uart_apdma_free(struct mtk_uart_apdmadev *mtkd)
462 while (!list_empty(&mtkd->ddev.channels)) {
463 struct mtk_chan *c = list_first_entry(&mtkd->ddev.channels,
480 struct mtk_uart_apdmadev *mtkd;
485 mtkd = devm_kzalloc(&pdev->dev, sizeof(*mtkd), GFP_KERNEL);
486 if (!mtkd)
489 mtkd->clk = devm_clk_get(&pdev->dev, NULL);
490 if (IS_ERR(mtkd->clk)) {
492 rc = PTR_ERR(mtkd->clk);
497 mtkd->support_33bits = true;
499 if (mtkd->support_33bits)
506 dma_cap_set(DMA_SLAVE, mtkd->ddev.cap_mask);
507 mtkd->ddev.device_alloc_chan_resources =
509 mtkd->ddev.device_free_chan_resources =
511 mtkd->ddev.device_tx_status = mtk_uart_apdma_tx_status;
512 mtkd->ddev.device_issue_pending = mtk_uart_apdma_issue_pending;
513 mtkd->ddev.device_prep_slave_sg = mtk_uart_apdma_prep_slave_sg;
514 mtkd->ddev.device_config = mtk_uart_apdma_slave_config;
515 mtkd->ddev.device_pause = mtk_uart_apdma_device_pause;
516 mtkd->ddev.device_terminate_all = mtk_uart_apdma_terminate_all;
517 mtkd->ddev.src_addr_widths = BIT(DMA_SLAVE_BUSWIDTH_1_BYTE);
518 mtkd->ddev.dst_addr_widths = BIT(DMA_SLAVE_BUSWIDTH_1_BYTE);
519 mtkd->ddev.directions = BIT(DMA_DEV_TO_MEM) | BIT(DMA_MEM_TO_DEV);
520 mtkd->ddev.residue_granularity = DMA_RESIDUE_GRANULARITY_SEGMENT;
521 mtkd->ddev.dev = &pdev->dev;
522 INIT_LIST_HEAD(&mtkd->ddev.channels);
524 mtkd->dma_requests = MTK_UART_APDMA_NR_VCHANS;
525 if (of_property_read_u32(np, "dma-requests", &mtkd->dma_requests)) {
531 for (i = 0; i < mtkd->dma_requests; i++) {
532 c = devm_kzalloc(mtkd->ddev.dev, sizeof(*c), GFP_KERNEL);
544 vchan_init(&c->vc, &mtkd->ddev);
555 rc = dma_async_device_register(&mtkd->ddev);
559 platform_set_drvdata(pdev, mtkd);
562 rc = of_dma_controller_register(np, of_dma_xlate_by_chan_id, mtkd);
569 dma_async_device_unregister(&mtkd->ddev);
573 mtk_uart_apdma_free(mtkd);
579 struct mtk_uart_apdmadev *mtkd = platform_get_drvdata(pdev);
583 mtk_uart_apdma_free(mtkd);
585 dma_async_device_unregister(&mtkd->ddev);
595 struct mtk_uart_apdmadev *mtkd = dev_get_drvdata(dev);
598 clk_disable_unprepare(mtkd->clk);
606 struct mtk_uart_apdmadev *mtkd = dev_get_drvdata(dev);
609 ret = clk_prepare_enable(mtkd->clk);
621 struct mtk_uart_apdmadev *mtkd = dev_get_drvdata(dev);
623 clk_disable_unprepare(mtkd->clk);
630 struct mtk_uart_apdmadev *mtkd = dev_get_drvdata(dev);
632 return clk_prepare_enable(mtkd->clk);