Lines Matching refs:idma
60 } idma; variable
66 *src = idma.lp_tx_addr + in idma_getpos()
67 (readl(idma.regs + I2STRNCNT) & 0xffffff) * 4; in idma_getpos()
81 val = idma.lp_tx_addr + prtd->periodsz; in idma_enqueue()
82 writel(val, idma.regs + I2SLVL0ADDR); in idma_enqueue()
85 val = idma.lp_tx_addr; in idma_enqueue()
86 writel(val, idma.regs + I2SSTR0); in idma_enqueue()
92 val = readl(idma.regs + I2SSIZE); in idma_enqueue()
96 writel(val, idma.regs + I2SSIZE); in idma_enqueue()
98 val = readl(idma.regs + I2SAHB); in idma_enqueue()
100 writel(val, idma.regs + I2SAHB); in idma_enqueue()
117 u32 val = readl(idma.regs + I2SAHB); in idma_control()
119 spin_lock(&idma.lock); in idma_control()
129 spin_unlock(&idma.lock); in idma_control()
133 writel(val, idma.regs + I2SAHB); in idma_control()
134 spin_unlock(&idma.lock); in idma_control()
151 u32 mod = readl(idma.regs + I2SMOD); in idma_hw_params()
152 u32 ahb = readl(idma.regs + I2SAHB); in idma_hw_params()
156 writel(ahb, idma.regs + I2SAHB); in idma_hw_params()
157 writel(mod, idma.regs + I2SMOD); in idma_hw_params()
265 iisahb = readl(idma.regs + I2SAHB); in iis_irq()
271 writel(iisahb, idma.regs + I2SAHB); in iis_irq()
273 addr = readl(idma.regs + I2SLVL0ADDR) - idma.lp_tx_addr; in iis_irq()
276 addr += idma.lp_tx_addr; in iis_irq()
278 writel(addr, idma.regs + I2SLVL0ADDR); in iis_irq()
369 buf->addr = idma.lp_tx_addr; in preallocate_idma_buffer()
396 spin_lock_init(&idma.lock); in idma_reg_addr_init()
397 idma.regs = regs; in idma_reg_addr_init()
398 idma.lp_tx_addr = addr; in idma_reg_addr_init()