Lines Matching refs:ddev
79 return container_of(dmadev, struct hidma_dev, ddev); in to_hidma_dev()
101 INIT_LIST_HEAD(&dmadev->ddev.channels); in hidma_free()
116 struct dma_device *ddev = mchan->chan.device; in hidma_process_completed() local
117 struct hidma_dev *mdma = to_hidma_dev(ddev); in hidma_process_completed()
174 struct dma_device *ddev = mchan->chan.device; in hidma_callback() local
175 struct hidma_dev *dmadev = to_hidma_dev(ddev); in hidma_callback()
194 pm_runtime_mark_last_busy(dmadev->ddev.dev); in hidma_callback()
195 pm_runtime_put_autosuspend(dmadev->ddev.dev); in hidma_callback()
202 struct dma_device *ddev; in hidma_chan_init() local
204 mchan = devm_kzalloc(dmadev->ddev.dev, sizeof(*mchan), GFP_KERNEL); in hidma_chan_init()
208 ddev = &dmadev->ddev; in hidma_chan_init()
211 mchan->chan.device = ddev; in hidma_chan_init()
221 list_add_tail(&mchan->chan.device_node, &ddev->channels); in hidma_chan_init()
222 dmadev->ddev.chancnt++; in hidma_chan_init()
230 pm_runtime_get_sync(dmadev->ddev.dev); in hidma_issue_task()
257 status = pm_runtime_get(dmadev->ddev.dev); in hidma_issue_pending()
324 pm_runtime_get_sync(dmadev->ddev.dev); in hidma_tx_submit()
326 pm_runtime_mark_last_busy(dmadev->ddev.dev); in hidma_tx_submit()
327 pm_runtime_put_autosuspend(dmadev->ddev.dev); in hidma_tx_submit()
330 pm_runtime_mark_last_busy(dmadev->ddev.dev); in hidma_tx_submit()
331 pm_runtime_put_autosuspend(dmadev->ddev.dev); in hidma_tx_submit()
471 pm_runtime_get_sync(dmadev->ddev.dev); in hidma_terminate_channel()
486 dev_err(dmadev->ddev.dev, "channel did not pause\n"); in hidma_terminate_channel()
504 pm_runtime_mark_last_busy(dmadev->ddev.dev); in hidma_terminate_channel()
505 pm_runtime_put_autosuspend(dmadev->ddev.dev); in hidma_terminate_channel()
520 pm_runtime_get_sync(dmadev->ddev.dev); in hidma_terminate_all()
522 pm_runtime_mark_last_busy(dmadev->ddev.dev); in hidma_terminate_all()
523 pm_runtime_put_autosuspend(dmadev->ddev.dev); in hidma_terminate_all()
562 pm_runtime_get_sync(dmadev->ddev.dev); in hidma_pause()
564 dev_warn(dmadev->ddev.dev, "channel did not stop\n"); in hidma_pause()
566 pm_runtime_mark_last_busy(dmadev->ddev.dev); in hidma_pause()
567 pm_runtime_put_autosuspend(dmadev->ddev.dev); in hidma_pause()
581 pm_runtime_get_sync(dmadev->ddev.dev); in hidma_resume()
586 dev_err(dmadev->ddev.dev, in hidma_resume()
588 pm_runtime_mark_last_busy(dmadev->ddev.dev); in hidma_resume()
589 pm_runtime_put_autosuspend(dmadev->ddev.dev); in hidma_resume()
631 device_remove_file(dev->ddev.dev, dev->chid_attrs); in hidma_sysfs_uninit()
640 attrs = devm_kmalloc(dev->ddev.dev, sizeof(struct device_attribute), in hidma_create_sysfs_entry()
645 name_copy = devm_kstrdup(dev->ddev.dev, name, GFP_KERNEL); in hidma_create_sysfs_entry()
663 return device_create_file(dev->ddev.dev, dev->chid_attrs); in hidma_sysfs_init()
683 struct device *dev = dmadev->ddev.dev; in hidma_free_msis()
797 INIT_LIST_HEAD(&dmadev->ddev.channels); in hidma_probe()
799 dmadev->ddev.dev = &pdev->dev; in hidma_probe()
800 pm_runtime_get_sync(dmadev->ddev.dev); in hidma_probe()
802 dma_cap_set(DMA_MEMCPY, dmadev->ddev.cap_mask); in hidma_probe()
803 dma_cap_set(DMA_MEMSET, dmadev->ddev.cap_mask); in hidma_probe()
813 dmadev->ddev.device_prep_dma_memcpy = hidma_prep_dma_memcpy; in hidma_probe()
814 dmadev->ddev.device_prep_dma_memset = hidma_prep_dma_memset; in hidma_probe()
815 dmadev->ddev.device_alloc_chan_resources = hidma_alloc_chan_resources; in hidma_probe()
816 dmadev->ddev.device_free_chan_resources = hidma_free_chan_resources; in hidma_probe()
817 dmadev->ddev.device_tx_status = hidma_tx_status; in hidma_probe()
818 dmadev->ddev.device_issue_pending = hidma_issue_pending; in hidma_probe()
819 dmadev->ddev.device_pause = hidma_pause; in hidma_probe()
820 dmadev->ddev.device_resume = hidma_resume; in hidma_probe()
821 dmadev->ddev.device_terminate_all = hidma_terminate_all; in hidma_probe()
822 dmadev->ddev.copy_align = 8; in hidma_probe()
855 dmadev->lldev = hidma_ll_init(dmadev->ddev.dev, in hidma_probe()
875 INIT_LIST_HEAD(&dmadev->ddev.channels); in hidma_probe()
880 rc = dma_async_device_register(&dmadev->ddev); in hidma_probe()
889 pm_runtime_mark_last_busy(dmadev->ddev.dev); in hidma_probe()
890 pm_runtime_put_autosuspend(dmadev->ddev.dev); in hidma_probe()
912 dev_info(dmadev->ddev.dev, "HI-DMA engine shutdown\n"); in hidma_shutdown()
914 pm_runtime_get_sync(dmadev->ddev.dev); in hidma_shutdown()
916 dev_warn(dmadev->ddev.dev, "channel did not stop\n"); in hidma_shutdown()
917 pm_runtime_mark_last_busy(dmadev->ddev.dev); in hidma_shutdown()
918 pm_runtime_put_autosuspend(dmadev->ddev.dev); in hidma_shutdown()
926 pm_runtime_get_sync(dmadev->ddev.dev); in hidma_remove()
927 dma_async_device_unregister(&dmadev->ddev); in hidma_remove()
929 devm_free_irq(dmadev->ddev.dev, dmadev->irq, dmadev->lldev); in hidma_remove()