Lines Matching full:rdma
19 * by the VSYNC irq and does not handle the RDMA irq.
26 if (!priv->rdma.addr) { in meson_rdma_init()
28 priv->rdma.addr = in meson_rdma_init()
30 &priv->rdma.addr_dma, in meson_rdma_init()
32 if (!priv->rdma.addr) in meson_rdma_init()
36 priv->rdma.offset = 0; in meson_rdma_init()
50 if (!priv->rdma.addr && !priv->rdma.addr_dma) in meson_rdma_free()
56 priv->rdma.addr, priv->rdma.addr_dma); in meson_rdma_free()
58 priv->rdma.addr = NULL; in meson_rdma_free()
59 priv->rdma.addr_dma = (dma_addr_t)0; in meson_rdma_free()
88 priv->rdma.offset = 0; in meson_rdma_reset()
94 if (priv->rdma.offset >= (SZ_4K / RDMA_DESC_SIZE)) { in meson_rdma_writel()
99 priv->rdma.addr[priv->rdma.offset++] = reg; in meson_rdma_writel()
100 priv->rdma.addr[priv->rdma.offset++] = val; in meson_rdma_writel()
104 * This will add the register to the RDMA buffer and write it to the
106 * When meson_rdma_flush is called, the RDMA will replay the register
121 writel(priv->rdma.addr_dma, in meson_rdma_flush()
125 writel(priv->rdma.addr_dma + (priv->rdma.offset * RDMA_DESC_SIZE) - 1, in meson_rdma_flush()
134 priv->rdma.offset = 0; in meson_rdma_flush()