[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20200710085123.GF3703480@smile.fi.intel.com>
Date: Fri, 10 Jul 2020 11:51:23 +0300
From: Andy Shevchenko <andriy.shevchenko@...ux.intel.com>
To: Serge Semin <Sergey.Semin@...kalelectronics.ru>
Cc: Vinod Koul <vkoul@...nel.org>, Viresh Kumar <vireshk@...nel.org>,
Dan Williams <dan.j.williams@...el.com>,
Serge Semin <fancer.lancer@...il.com>,
Alexey Malahov <Alexey.Malahov@...kalelectronics.ru>,
Thomas Bogendoerfer <tsbogend@...ha.franken.de>,
Arnd Bergmann <arnd@...db.de>,
Rob Herring <robh+dt@...nel.org>, linux-mips@...r.kernel.org,
devicetree@...r.kernel.org, dmaengine@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH v7 08/11] dmaengine: dw: Add dummy device_caps callback
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.
> Signed-off-by: Serge Semin <Sergey.Semin@...kalelectronics.ru>
> Cc: Alexey Malahov <Alexey.Malahov@...kalelectronics.ru>
> Cc: Thomas Bogendoerfer <tsbogend@...ha.franken.de>
> Cc: Arnd Bergmann <arnd@...db.de>
> Cc: Rob Herring <robh+dt@...nel.org>
> Cc: linux-mips@...r.kernel.org
> Cc: devicetree@...r.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
Powered by blists - more mailing lists