Lines Matching refs:zdev
220 struct zynqmp_dma_device *zdev; member
889 devm_free_irq(chan->zdev->dev, chan->irq, chan); in zynqmp_dma_chan_remove()
901 static int zynqmp_dma_chan_probe(struct zynqmp_dma_device *zdev, in zynqmp_dma_chan_probe() argument
909 chan = devm_kzalloc(zdev->dev, sizeof(*chan), GFP_KERNEL); in zynqmp_dma_chan_probe()
912 chan->dev = zdev->dev; in zynqmp_dma_chan_probe()
913 chan->zdev = zdev; in zynqmp_dma_chan_probe()
930 dev_err(zdev->dev, "invalid bus-width value"); in zynqmp_dma_chan_probe()
939 zdev->chan = chan; in zynqmp_dma_chan_probe()
948 chan->common.device = &zdev->common; in zynqmp_dma_chan_probe()
949 list_add_tail(&chan->common.device_node, &zdev->common.channels); in zynqmp_dma_chan_probe()
975 struct zynqmp_dma_device *zdev = ofdma->of_dma_data; in of_zynqmp_dma_xlate() local
977 return dma_get_slave_channel(&zdev->chan->common); in of_zynqmp_dma_xlate()
1019 struct zynqmp_dma_device *zdev = dev_get_drvdata(dev); in zynqmp_dma_runtime_suspend() local
1021 clk_disable_unprepare(zdev->clk_main); in zynqmp_dma_runtime_suspend()
1022 clk_disable_unprepare(zdev->clk_apb); in zynqmp_dma_runtime_suspend()
1036 struct zynqmp_dma_device *zdev = dev_get_drvdata(dev); in zynqmp_dma_runtime_resume() local
1039 err = clk_prepare_enable(zdev->clk_main); in zynqmp_dma_runtime_resume()
1045 err = clk_prepare_enable(zdev->clk_apb); in zynqmp_dma_runtime_resume()
1048 clk_disable_unprepare(zdev->clk_main); in zynqmp_dma_runtime_resume()
1069 struct zynqmp_dma_device *zdev; in zynqmp_dma_probe() local
1073 zdev = devm_kzalloc(&pdev->dev, sizeof(*zdev), GFP_KERNEL); in zynqmp_dma_probe()
1074 if (!zdev) in zynqmp_dma_probe()
1077 zdev->dev = &pdev->dev; in zynqmp_dma_probe()
1078 INIT_LIST_HEAD(&zdev->common.channels); in zynqmp_dma_probe()
1085 dma_cap_set(DMA_MEMCPY, zdev->common.cap_mask); in zynqmp_dma_probe()
1087 p = &zdev->common; in zynqmp_dma_probe()
1098 zdev->clk_main = devm_clk_get(&pdev->dev, "clk_main"); in zynqmp_dma_probe()
1099 if (IS_ERR(zdev->clk_main)) in zynqmp_dma_probe()
1100 return dev_err_probe(&pdev->dev, PTR_ERR(zdev->clk_main), in zynqmp_dma_probe()
1103 zdev->clk_apb = devm_clk_get(&pdev->dev, "clk_apb"); in zynqmp_dma_probe()
1104 if (IS_ERR(zdev->clk_apb)) in zynqmp_dma_probe()
1105 return dev_err_probe(&pdev->dev, PTR_ERR(zdev->clk_apb), in zynqmp_dma_probe()
1108 platform_set_drvdata(pdev, zdev); in zynqmp_dma_probe()
1109 pm_runtime_set_autosuspend_delay(zdev->dev, ZDMA_PM_TIMEOUT); in zynqmp_dma_probe()
1110 pm_runtime_use_autosuspend(zdev->dev); in zynqmp_dma_probe()
1111 pm_runtime_enable(zdev->dev); in zynqmp_dma_probe()
1112 ret = pm_runtime_resume_and_get(zdev->dev); in zynqmp_dma_probe()
1115 pm_runtime_disable(zdev->dev); in zynqmp_dma_probe()
1117 if (!pm_runtime_enabled(zdev->dev)) { in zynqmp_dma_probe()
1118 ret = zynqmp_dma_runtime_resume(zdev->dev); in zynqmp_dma_probe()
1123 ret = zynqmp_dma_chan_probe(zdev, pdev); in zynqmp_dma_probe()
1129 p->dst_addr_widths = BIT(zdev->chan->bus_width / 8); in zynqmp_dma_probe()
1130 p->src_addr_widths = BIT(zdev->chan->bus_width / 8); in zynqmp_dma_probe()
1132 ret = dma_async_device_register(&zdev->common); in zynqmp_dma_probe()
1134 dev_err(zdev->dev, "failed to register the dma device\n"); in zynqmp_dma_probe()
1139 of_zynqmp_dma_xlate, zdev); in zynqmp_dma_probe()
1142 dma_async_device_unregister(&zdev->common); in zynqmp_dma_probe()
1146 pm_runtime_put_sync_autosuspend(zdev->dev); in zynqmp_dma_probe()
1151 zynqmp_dma_chan_remove(zdev->chan); in zynqmp_dma_probe()
1153 if (!pm_runtime_enabled(zdev->dev)) in zynqmp_dma_probe()
1154 zynqmp_dma_runtime_suspend(zdev->dev); in zynqmp_dma_probe()
1155 pm_runtime_disable(zdev->dev); in zynqmp_dma_probe()
1167 struct zynqmp_dma_device *zdev = platform_get_drvdata(pdev); in zynqmp_dma_remove() local
1170 dma_async_device_unregister(&zdev->common); in zynqmp_dma_remove()
1172 zynqmp_dma_chan_remove(zdev->chan); in zynqmp_dma_remove()
1173 if (pm_runtime_active(zdev->dev)) in zynqmp_dma_remove()
1174 zynqmp_dma_runtime_suspend(zdev->dev); in zynqmp_dma_remove()
1175 pm_runtime_disable(zdev->dev); in zynqmp_dma_remove()