Hi Biju, On Thu, Jul 21, 2022 at 11:47 AM Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> wrote: > On Tue, Jul 19, 2022 at 5:00 PM Biju Das <biju.das.jz@xxxxxxxxxxxxxx> wrote: > > Some on-chip peripheral modules(for eg:- rspi) on RZ/G2L SoC > > use the same signal for both interrupt and DMA transfer requests. > > The signal works as a DMA transfer request signal by setting > > DMARS, and subsequent interrupt requests to the interrupt controller > > are masked. > > > > We can enable the interrupt by clearing the DMARS. > > re-enable? > > > > > This patch adds device_synchronize callback for clearing > > DMARS and thereby allowing DMA consumers to switch to > > DMA mode. > > interrupt mode > > > > > Signed-off-by: Biju Das <biju.das.jz@xxxxxxxxxxxxxx> > > --- > > v1->v2: > > * No change > > With the above fixed: > Reviewed-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> > > +static void rz_dmac_device_synchronize(struct dma_chan *chan) > > +{ > > + struct rz_dmac_chan *channel = to_rz_dmac_chan(chan); > > + struct rz_dmac *dmac = to_rz_dmac(chan->device); > > + Actually this should check if the DMA operation has been completed or terminated, and wait (sleep) if needed. > > + rz_dmac_set_dmars_register(dmac, channel->index, 0); > > +} Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds