atxdmac 247 drivers/dma/at_xdmac.c static inline void __iomem *at_xdmac_chan_reg_base(struct at_xdmac *atxdmac, unsigned int chan_nb) atxdmac 249 drivers/dma/at_xdmac.c return atxdmac->regs + (AT_XDMAC_CHAN_REG_BASE + chan_nb * 0x40); atxdmac 252 drivers/dma/at_xdmac.c #define at_xdmac_read(atxdmac, reg) readl_relaxed((atxdmac)->regs + (reg)) atxdmac 253 drivers/dma/at_xdmac.c #define at_xdmac_write(atxdmac, reg, value) \ atxdmac 254 drivers/dma/at_xdmac.c writel_relaxed((value), (atxdmac)->regs + (reg)) atxdmac 321 drivers/dma/at_xdmac.c static void at_xdmac_off(struct at_xdmac *atxdmac) atxdmac 323 drivers/dma/at_xdmac.c at_xdmac_write(atxdmac, AT_XDMAC_GD, -1L); atxdmac 326 drivers/dma/at_xdmac.c while (at_xdmac_read(atxdmac, AT_XDMAC_GS)) atxdmac 329 drivers/dma/at_xdmac.c at_xdmac_write(atxdmac, AT_XDMAC_GID, -1L); atxdmac 336 drivers/dma/at_xdmac.c struct at_xdmac *atxdmac = to_at_xdmac(atchan->chan.device); atxdmac 403 drivers/dma/at_xdmac.c at_xdmac_write(atxdmac, AT_XDMAC_GIE, atchan->mask); atxdmac 407 drivers/dma/at_xdmac.c at_xdmac_write(atxdmac, AT_XDMAC_GE, atchan->mask); atxdmac 444 drivers/dma/at_xdmac.c struct at_xdmac *atxdmac = to_at_xdmac(chan->device); atxdmac 447 drivers/dma/at_xdmac.c desc = dma_pool_zalloc(atxdmac->at_xdmac_desc_pool, gfp_flags, &phys); atxdmac 514 drivers/dma/at_xdmac.c struct at_xdmac *atxdmac = of_dma->of_dma_data; atxdmac 517 drivers/dma/at_xdmac.c struct device *dev = atxdmac->dma.dev; atxdmac 524 drivers/dma/at_xdmac.c chan = dma_get_any_slave_channel(&atxdmac->dma); atxdmac 1394 drivers/dma/at_xdmac.c struct at_xdmac *atxdmac = to_at_xdmac(atchan->chan.device); atxdmac 1441 drivers/dma/at_xdmac.c at_xdmac_write(atxdmac, AT_XDMAC_GSWF, atchan->mask); atxdmac 1499 drivers/dma/at_xdmac.c at_xdmac_write(atxdmac, AT_XDMAC_GSWF, atchan->mask); atxdmac 1583 drivers/dma/at_xdmac.c struct at_xdmac *atxdmac = to_at_xdmac(atchan->chan.device); atxdmac 1602 drivers/dma/at_xdmac.c at_xdmac_write(atxdmac, AT_XDMAC_GD, atchan->mask); atxdmac 1603 drivers/dma/at_xdmac.c while (at_xdmac_read(atxdmac, AT_XDMAC_GS) & atchan->mask) atxdmac 1673 drivers/dma/at_xdmac.c struct at_xdmac *atxdmac = (struct at_xdmac *)dev_id; atxdmac 1680 drivers/dma/at_xdmac.c imr = at_xdmac_read(atxdmac, AT_XDMAC_GIM); atxdmac 1681 drivers/dma/at_xdmac.c status = at_xdmac_read(atxdmac, AT_XDMAC_GIS); atxdmac 1684 drivers/dma/at_xdmac.c dev_vdbg(atxdmac->dma.dev, atxdmac 1692 drivers/dma/at_xdmac.c for (i = 0; i < atxdmac->dma.chancnt; i++) { atxdmac 1696 drivers/dma/at_xdmac.c atchan = &atxdmac->chan[i]; atxdmac 1700 drivers/dma/at_xdmac.c dev_vdbg(atxdmac->dma.dev, atxdmac 1714 drivers/dma/at_xdmac.c at_xdmac_write(atxdmac, AT_XDMAC_GD, atchan->mask); atxdmac 1756 drivers/dma/at_xdmac.c struct at_xdmac *atxdmac = to_at_xdmac(atchan->chan.device); atxdmac 1765 drivers/dma/at_xdmac.c at_xdmac_write(atxdmac, AT_XDMAC_GRWS, atchan->mask); atxdmac 1777 drivers/dma/at_xdmac.c struct at_xdmac *atxdmac = to_at_xdmac(atchan->chan.device); atxdmac 1788 drivers/dma/at_xdmac.c at_xdmac_write(atxdmac, AT_XDMAC_GRWR, atchan->mask); atxdmac 1799 drivers/dma/at_xdmac.c struct at_xdmac *atxdmac = to_at_xdmac(atchan->chan.device); atxdmac 1805 drivers/dma/at_xdmac.c at_xdmac_write(atxdmac, AT_XDMAC_GD, atchan->mask); atxdmac 1806 drivers/dma/at_xdmac.c while (at_xdmac_read(atxdmac, AT_XDMAC_GS) & atchan->mask) atxdmac 1865 drivers/dma/at_xdmac.c struct at_xdmac *atxdmac = to_at_xdmac(chan->device); atxdmac 1871 drivers/dma/at_xdmac.c dma_pool_free(atxdmac->at_xdmac_desc_pool, desc, desc->tx_dma_desc.phys); atxdmac 1880 drivers/dma/at_xdmac.c struct at_xdmac *atxdmac = dev_get_drvdata(dev); atxdmac 1883 drivers/dma/at_xdmac.c list_for_each_entry_safe(chan, _chan, &atxdmac->dma.channels, device_node) { atxdmac 1899 drivers/dma/at_xdmac.c struct at_xdmac *atxdmac = dev_get_drvdata(dev); atxdmac 1902 drivers/dma/at_xdmac.c list_for_each_entry_safe(chan, _chan, &atxdmac->dma.channels, device_node) { atxdmac 1914 drivers/dma/at_xdmac.c atxdmac->save_gim = at_xdmac_read(atxdmac, AT_XDMAC_GIM); atxdmac 1916 drivers/dma/at_xdmac.c at_xdmac_off(atxdmac); atxdmac 1917 drivers/dma/at_xdmac.c clk_disable_unprepare(atxdmac->clk); atxdmac 1923 drivers/dma/at_xdmac.c struct at_xdmac *atxdmac = dev_get_drvdata(dev); atxdmac 1929 drivers/dma/at_xdmac.c ret = clk_prepare_enable(atxdmac->clk); atxdmac 1934 drivers/dma/at_xdmac.c for (i = 0; i < atxdmac->dma.chancnt; i++) { atxdmac 1935 drivers/dma/at_xdmac.c atchan = &atxdmac->chan[i]; atxdmac 1940 drivers/dma/at_xdmac.c at_xdmac_write(atxdmac, AT_XDMAC_GIE, atxdmac->save_gim); atxdmac 1941 drivers/dma/at_xdmac.c list_for_each_entry_safe(chan, _chan, &atxdmac->dma.channels, device_node) { atxdmac 1951 drivers/dma/at_xdmac.c at_xdmac_write(atxdmac, AT_XDMAC_GE, atchan->mask); atxdmac 1961 drivers/dma/at_xdmac.c struct at_xdmac *atxdmac; atxdmac 1991 drivers/dma/at_xdmac.c size = sizeof(*atxdmac); atxdmac 1993 drivers/dma/at_xdmac.c atxdmac = devm_kzalloc(&pdev->dev, size, GFP_KERNEL); atxdmac 1994 drivers/dma/at_xdmac.c if (!atxdmac) { atxdmac 1999 drivers/dma/at_xdmac.c atxdmac->regs = base; atxdmac 2000 drivers/dma/at_xdmac.c atxdmac->irq = irq; atxdmac 2002 drivers/dma/at_xdmac.c atxdmac->clk = devm_clk_get(&pdev->dev, "dma_clk"); atxdmac 2003 drivers/dma/at_xdmac.c if (IS_ERR(atxdmac->clk)) { atxdmac 2005 drivers/dma/at_xdmac.c return PTR_ERR(atxdmac->clk); atxdmac 2009 drivers/dma/at_xdmac.c ret = request_irq(atxdmac->irq, at_xdmac_interrupt, 0, "at_xdmac", atxdmac); atxdmac 2015 drivers/dma/at_xdmac.c ret = clk_prepare_enable(atxdmac->clk); atxdmac 2021 drivers/dma/at_xdmac.c atxdmac->at_xdmac_desc_pool = atxdmac 2024 drivers/dma/at_xdmac.c if (!atxdmac->at_xdmac_desc_pool) { atxdmac 2030 drivers/dma/at_xdmac.c dma_cap_set(DMA_CYCLIC, atxdmac->dma.cap_mask); atxdmac 2031 drivers/dma/at_xdmac.c dma_cap_set(DMA_INTERLEAVE, atxdmac->dma.cap_mask); atxdmac 2032 drivers/dma/at_xdmac.c dma_cap_set(DMA_MEMCPY, atxdmac->dma.cap_mask); atxdmac 2033 drivers/dma/at_xdmac.c dma_cap_set(DMA_MEMSET, atxdmac->dma.cap_mask); atxdmac 2034 drivers/dma/at_xdmac.c dma_cap_set(DMA_MEMSET_SG, atxdmac->dma.cap_mask); atxdmac 2035 drivers/dma/at_xdmac.c dma_cap_set(DMA_SLAVE, atxdmac->dma.cap_mask); atxdmac 2040 drivers/dma/at_xdmac.c dma_cap_set(DMA_PRIVATE, atxdmac->dma.cap_mask); atxdmac 2041 drivers/dma/at_xdmac.c atxdmac->dma.dev = &pdev->dev; atxdmac 2042 drivers/dma/at_xdmac.c atxdmac->dma.device_alloc_chan_resources = at_xdmac_alloc_chan_resources; atxdmac 2043 drivers/dma/at_xdmac.c atxdmac->dma.device_free_chan_resources = at_xdmac_free_chan_resources; atxdmac 2044 drivers/dma/at_xdmac.c atxdmac->dma.device_tx_status = at_xdmac_tx_status; atxdmac 2045 drivers/dma/at_xdmac.c atxdmac->dma.device_issue_pending = at_xdmac_issue_pending; atxdmac 2046 drivers/dma/at_xdmac.c atxdmac->dma.device_prep_dma_cyclic = at_xdmac_prep_dma_cyclic; atxdmac 2047 drivers/dma/at_xdmac.c atxdmac->dma.device_prep_interleaved_dma = at_xdmac_prep_interleaved; atxdmac 2048 drivers/dma/at_xdmac.c atxdmac->dma.device_prep_dma_memcpy = at_xdmac_prep_dma_memcpy; atxdmac 2049 drivers/dma/at_xdmac.c atxdmac->dma.device_prep_dma_memset = at_xdmac_prep_dma_memset; atxdmac 2050 drivers/dma/at_xdmac.c atxdmac->dma.device_prep_dma_memset_sg = at_xdmac_prep_dma_memset_sg; atxdmac 2051 drivers/dma/at_xdmac.c atxdmac->dma.device_prep_slave_sg = at_xdmac_prep_slave_sg; atxdmac 2052 drivers/dma/at_xdmac.c atxdmac->dma.device_config = at_xdmac_device_config; atxdmac 2053 drivers/dma/at_xdmac.c atxdmac->dma.device_pause = at_xdmac_device_pause; atxdmac 2054 drivers/dma/at_xdmac.c atxdmac->dma.device_resume = at_xdmac_device_resume; atxdmac 2055 drivers/dma/at_xdmac.c atxdmac->dma.device_terminate_all = at_xdmac_device_terminate_all; atxdmac 2056 drivers/dma/at_xdmac.c atxdmac->dma.src_addr_widths = AT_XDMAC_DMA_BUSWIDTHS; atxdmac 2057 drivers/dma/at_xdmac.c atxdmac->dma.dst_addr_widths = AT_XDMAC_DMA_BUSWIDTHS; atxdmac 2058 drivers/dma/at_xdmac.c atxdmac->dma.directions = BIT(DMA_DEV_TO_MEM) | BIT(DMA_MEM_TO_DEV); atxdmac 2059 drivers/dma/at_xdmac.c atxdmac->dma.residue_granularity = DMA_RESIDUE_GRANULARITY_BURST; atxdmac 2062 drivers/dma/at_xdmac.c at_xdmac_off(atxdmac); atxdmac 2065 drivers/dma/at_xdmac.c INIT_LIST_HEAD(&atxdmac->dma.channels); atxdmac 2067 drivers/dma/at_xdmac.c struct at_xdmac_chan *atchan = &atxdmac->chan[i]; atxdmac 2069 drivers/dma/at_xdmac.c atchan->chan.device = &atxdmac->dma; atxdmac 2071 drivers/dma/at_xdmac.c &atxdmac->dma.channels); atxdmac 2073 drivers/dma/at_xdmac.c atchan->ch_regs = at_xdmac_chan_reg_base(atxdmac, i); atxdmac 2086 drivers/dma/at_xdmac.c platform_set_drvdata(pdev, atxdmac); atxdmac 2088 drivers/dma/at_xdmac.c ret = dma_async_device_register(&atxdmac->dma); atxdmac 2095 drivers/dma/at_xdmac.c at_xdmac_xlate, atxdmac); atxdmac 2102 drivers/dma/at_xdmac.c nr_channels, atxdmac->regs); atxdmac 2107 drivers/dma/at_xdmac.c dma_async_device_unregister(&atxdmac->dma); atxdmac 2109 drivers/dma/at_xdmac.c clk_disable_unprepare(atxdmac->clk); atxdmac 2111 drivers/dma/at_xdmac.c free_irq(atxdmac->irq, atxdmac); atxdmac 2117 drivers/dma/at_xdmac.c struct at_xdmac *atxdmac = (struct at_xdmac *)platform_get_drvdata(pdev); atxdmac 2120 drivers/dma/at_xdmac.c at_xdmac_off(atxdmac); atxdmac 2122 drivers/dma/at_xdmac.c dma_async_device_unregister(&atxdmac->dma); atxdmac 2123 drivers/dma/at_xdmac.c clk_disable_unprepare(atxdmac->clk); atxdmac 2125 drivers/dma/at_xdmac.c free_irq(atxdmac->irq, atxdmac); atxdmac 2127 drivers/dma/at_xdmac.c for (i = 0; i < atxdmac->dma.chancnt; i++) { atxdmac 2128 drivers/dma/at_xdmac.c struct at_xdmac_chan *atchan = &atxdmac->chan[i];