On Fri, Jul 10, 2020 at 11:51:23AM +0300, Andy Shevchenko wrote: > On Fri, Jul 10, 2020 at 01:45:47AM +0300, Serge Semin wrote: > > Since some DW DMA controllers (like one installed on Baikal-T1 SoC) may > > have non-uniform DMA capabilities per device channels, let's add > > the DW DMA specific device_caps callback to expose that specifics up to > > the DMA consumer. It's a dummy function for now. We'll fill it in with > > capabilities overrides in the next commits. > > Just a reminder (mainly to Vinod) of my view to this. > Unneeded churn, should be folded to patch 9. Just to remind (mainly to Vinod). That's Andy's bikeshedding. This isn't a churn, since it's totally normal to design the patchset in this way: introduce a callback, then fill it in with functionality. -Sergey > > > Signed-off-by: Serge Semin <Sergey.Semin@xxxxxxxxxxxxxxxxxxxx> > > Cc: Alexey Malahov <Alexey.Malahov@xxxxxxxxxxxxxxxxxxxx> > > Cc: Thomas Bogendoerfer <tsbogend@xxxxxxxxxxxxxxxx> > > Cc: Arnd Bergmann <arnd@xxxxxxxx> > > Cc: Rob Herring <robh+dt@xxxxxxxxxx> > > Cc: linux-mips@xxxxxxxxxxxxxxx > > Cc: devicetree@xxxxxxxxxxxxxxx > > > > --- > > > > Changelog v3: > > - This is a new patch created as a result of the discussion with Vinud and > > Andy in the framework of DW DMA burst and LLP capabilities. > > --- > > drivers/dma/dw/core.c | 6 ++++++ > > 1 file changed, 6 insertions(+) > > > > diff --git a/drivers/dma/dw/core.c b/drivers/dma/dw/core.c > > index fb95920c429e..ceded21537e2 100644 > > --- a/drivers/dma/dw/core.c > > +++ b/drivers/dma/dw/core.c > > @@ -1049,6 +1049,11 @@ static void dwc_free_chan_resources(struct dma_chan *chan) > > dev_vdbg(chan2dev(chan), "%s: done\n", __func__); > > } > > > > +static void dwc_caps(struct dma_chan *chan, struct dma_slave_caps *caps) > > +{ > > + > > +} > > + > > int do_dma_probe(struct dw_dma_chip *chip) > > { > > struct dw_dma *dw = chip->dw; > > @@ -1214,6 +1219,7 @@ int do_dma_probe(struct dw_dma_chip *chip) > > dw->dma.device_prep_dma_memcpy = dwc_prep_dma_memcpy; > > dw->dma.device_prep_slave_sg = dwc_prep_slave_sg; > > > > + dw->dma.device_caps = dwc_caps; > > dw->dma.device_config = dwc_config; > > dw->dma.device_pause = dwc_pause; > > dw->dma.device_resume = dwc_resume; > > -- > > 2.26.2 > > > > -- > With Best Regards, > Andy Shevchenko > >