Re: [PATCH v7 08/11] dmaengine: dw: Add dummy device_caps callback

Serge Semin
2020-07-10T09:45:15Z

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@baikalelectronics.ru>
> > Cc: Alexey Malahov <Alexey.Malahov@baikalelectronics.ru>
> > Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
> > Cc: Arnd Bergmann <arnd@arndb.de>
> > Cc: Rob Herring <robh+dt@kernel.org>
> > Cc: linux-mips@vger.kernel.org
> > Cc: devicetree@vger.kernel.org
> >
> > ---
> >
> > 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
>
>