Lines Matching refs:od

551 static void bcm2835_dma_free(struct bcm2835_dmadev *od)  in bcm2835_dma_free()  argument
555 list_for_each_entry_safe(c, next, &od->ddev.channels, in bcm2835_dma_free()
586 struct bcm2835_dmadev *od; in bcm2835_dma_probe() local
601 od = devm_kzalloc(&pdev->dev, sizeof(*od), GFP_KERNEL); in bcm2835_dma_probe()
602 if (!od) in bcm2835_dma_probe()
605 pdev->dev.dma_parms = &od->dma_parms; in bcm2835_dma_probe()
613 od->base = base; in bcm2835_dma_probe()
615 dma_cap_set(DMA_SLAVE, od->ddev.cap_mask); in bcm2835_dma_probe()
616 dma_cap_set(DMA_PRIVATE, od->ddev.cap_mask); in bcm2835_dma_probe()
617 dma_cap_set(DMA_CYCLIC, od->ddev.cap_mask); in bcm2835_dma_probe()
618 od->ddev.device_alloc_chan_resources = bcm2835_dma_alloc_chan_resources; in bcm2835_dma_probe()
619 od->ddev.device_free_chan_resources = bcm2835_dma_free_chan_resources; in bcm2835_dma_probe()
620 od->ddev.device_tx_status = bcm2835_dma_tx_status; in bcm2835_dma_probe()
621 od->ddev.device_issue_pending = bcm2835_dma_issue_pending; in bcm2835_dma_probe()
622 od->ddev.device_prep_dma_cyclic = bcm2835_dma_prep_dma_cyclic; in bcm2835_dma_probe()
623 od->ddev.device_config = bcm2835_dma_slave_config; in bcm2835_dma_probe()
624 od->ddev.device_terminate_all = bcm2835_dma_terminate_all; in bcm2835_dma_probe()
625 od->ddev.src_addr_widths = BIT(DMA_SLAVE_BUSWIDTH_4_BYTES); in bcm2835_dma_probe()
626 od->ddev.dst_addr_widths = BIT(DMA_SLAVE_BUSWIDTH_4_BYTES); in bcm2835_dma_probe()
627 od->ddev.directions = BIT(DMA_DEV_TO_MEM) | BIT(DMA_MEM_TO_DEV); in bcm2835_dma_probe()
628 od->ddev.dev = &pdev->dev; in bcm2835_dma_probe()
629 INIT_LIST_HEAD(&od->ddev.channels); in bcm2835_dma_probe()
630 spin_lock_init(&od->lock); in bcm2835_dma_probe()
632 platform_set_drvdata(pdev, od); in bcm2835_dma_probe()
655 rc = bcm2835_dma_chan_init(od, i, irq); in bcm2835_dma_probe()
665 bcm2835_dma_xlate, od); in bcm2835_dma_probe()
671 rc = dma_async_device_register(&od->ddev); in bcm2835_dma_probe()
683 bcm2835_dma_free(od); in bcm2835_dma_probe()
689 struct bcm2835_dmadev *od = platform_get_drvdata(pdev); in bcm2835_dma_remove() local
691 dma_async_device_unregister(&od->ddev); in bcm2835_dma_remove()
692 bcm2835_dma_free(od); in bcm2835_dma_remove()