Lines Matching refs:dma

43 	} dma;  member
53 #define rsnd_priv_to_dmac(p) ((struct rsnd_dma_ctrl *)(p)->dma)
55 #define rsnd_dma_to_dmaen(dma) (&(dma)->dma.en) argument
56 #define rsnd_dma_to_dmapp(dma) (&(dma)->dma.pp) argument
101 struct rsnd_dma *dma = rsnd_mod_to_dma(mod); in rsnd_dmaen_stop() local
102 struct rsnd_dmaen *dmaen = rsnd_dma_to_dmaen(dma); in rsnd_dmaen_stop()
114 struct rsnd_dma *dma = rsnd_mod_to_dma(mod); in rsnd_dmaen_cleanup() local
115 struct rsnd_dmaen *dmaen = rsnd_dma_to_dmaen(dma); in rsnd_dmaen_cleanup()
134 struct rsnd_dma *dma = rsnd_mod_to_dma(mod); in rsnd_dmaen_prepare() local
135 struct rsnd_dmaen *dmaen = rsnd_dma_to_dmaen(dma); in rsnd_dmaen_prepare()
148 dma->mod_from, in rsnd_dmaen_prepare()
149 dma->mod_to); in rsnd_dmaen_prepare()
163 struct rsnd_dma *dma = rsnd_mod_to_dma(mod); in rsnd_dmaen_start() local
164 struct rsnd_dmaen *dmaen = rsnd_dma_to_dmaen(dma); in rsnd_dmaen_start()
199 cfg.src_addr = dma->src_addr; in rsnd_dmaen_start()
200 cfg.dst_addr = dma->dst_addr; in rsnd_dmaen_start()
225 desc->callback_param = rsnd_mod_get(dma); in rsnd_dmaen_start()
269 struct rsnd_dma *dma, in rsnd_dmaen_attach() argument
311 struct rsnd_dma *dma = rsnd_mod_to_dma(mod); in rsnd_dmaen_pointer() local
312 struct rsnd_dmaen *dmaen = rsnd_dma_to_dmaen(dma); in rsnd_dmaen_pointer()
427 #define rsnd_dmapp_addr(dmac, dma, reg) \ argument
429 (0x10 * rsnd_dma_to_dmapp(dma)->dmapp_id))
430 static void rsnd_dmapp_write(struct rsnd_dma *dma, u32 data, u32 reg) in rsnd_dmapp_write() argument
432 struct rsnd_mod *mod = rsnd_mod_get(dma); in rsnd_dmapp_write()
437 dev_dbg(dev, "w 0x%px : %08x\n", rsnd_dmapp_addr(dmac, dma, reg), data); in rsnd_dmapp_write()
439 iowrite32(data, rsnd_dmapp_addr(dmac, dma, reg)); in rsnd_dmapp_write()
442 static u32 rsnd_dmapp_read(struct rsnd_dma *dma, u32 reg) in rsnd_dmapp_read() argument
444 struct rsnd_mod *mod = rsnd_mod_get(dma); in rsnd_dmapp_read()
448 return ioread32(rsnd_dmapp_addr(dmac, dma, reg)); in rsnd_dmapp_read()
451 static void rsnd_dmapp_bset(struct rsnd_dma *dma, u32 data, u32 mask, u32 reg) in rsnd_dmapp_bset() argument
453 struct rsnd_mod *mod = rsnd_mod_get(dma); in rsnd_dmapp_bset()
456 void __iomem *addr = rsnd_dmapp_addr(dmac, dma, reg); in rsnd_dmapp_bset()
469 struct rsnd_dma *dma = rsnd_mod_to_dma(mod); in rsnd_dmapp_stop() local
472 rsnd_dmapp_bset(dma, 0, PDMACHCR_DE, PDMACHCR); in rsnd_dmapp_stop()
475 if (0 == (rsnd_dmapp_read(dma, PDMACHCR) & PDMACHCR_DE)) in rsnd_dmapp_stop()
487 struct rsnd_dma *dma = rsnd_mod_to_dma(mod); in rsnd_dmapp_start() local
488 struct rsnd_dmapp *dmapp = rsnd_dma_to_dmapp(dma); in rsnd_dmapp_start()
490 rsnd_dmapp_write(dma, dma->src_addr, PDMASAR); in rsnd_dmapp_start()
491 rsnd_dmapp_write(dma, dma->dst_addr, PDMADAR); in rsnd_dmapp_start()
492 rsnd_dmapp_write(dma, dmapp->chcr, PDMACHCR); in rsnd_dmapp_start()
498 struct rsnd_dma *dma, in rsnd_dmapp_attach() argument
501 struct rsnd_dmapp *dmapp = rsnd_dma_to_dmapp(dma); in rsnd_dmapp_attach()
512 dmapp->dmapp_id, &dma->src_addr, &dma->dst_addr, dmapp->chcr); in rsnd_dmapp_attach()
524 struct rsnd_dma *dma = rsnd_mod_to_dma(mod); in rsnd_dmapp_debug_info() local
525 struct rsnd_dmapp *dmapp = rsnd_dma_to_dmapp(dma); in rsnd_dmapp_debug_info()
823 struct rsnd_dma *dma; in rsnd_dma_alloc() local
826 int (*attach)(struct rsnd_dai_stream *io, struct rsnd_dma *dma, in rsnd_dma_alloc()
863 dma = devm_kzalloc(dev, sizeof(*dma), GFP_KERNEL); in rsnd_dma_alloc()
864 if (!dma) in rsnd_dma_alloc()
867 *dma_mod = rsnd_mod_get(dma); in rsnd_dma_alloc()
879 ret = attach(io, dma, mod_from, mod_to); in rsnd_dma_alloc()
883 dma->src_addr = rsnd_dma_addr(io, mod_from, is_play, 1); in rsnd_dma_alloc()
884 dma->dst_addr = rsnd_dma_addr(io, mod_to, is_play, 0); in rsnd_dma_alloc()
885 dma->mod_from = mod_from; in rsnd_dma_alloc()
886 dma->mod_to = mod_to; in rsnd_dma_alloc()
942 priv->dma = dmac; in rsnd_dma_probe()