public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Jean Delvare <jdelvare@suse.de>
To: Viresh Kumar <viresh.kumar@linaro.org>
Cc: "Maxime Ripard" <maxime.ripard@free-electrons.com>,
	"Brian Loften" <bloften80@gmail.com>,
	"Vinod Koul" <vinod.koul@intel.com>,
	dmaengine@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	"Laurent Pinchart" <laurent.pinchart@ideasonboard.com>,
	"Antoine Ténart" <antoine@free-electrons.com>,
	"Russell King" <linux@arm.linux.org.uk>,
	"Lars-Peter Clausen" <lars@metafoo.de>,
	"Andy Shevchenko" <andriy.shevchenko@linux.intel.com>
Subject: Re: [PATCH v5 59/61] dmaengine: Add a warning for drivers not using the generic slave caps retrieval
Date: Thu, 19 Feb 2015 09:09:17 +0100	[thread overview]
Message-ID: <20150219090917.159d3d2f@endymion.delvare> (raw)
In-Reply-To: <CAOh2x=n1SC+s3hyFaOpREwVuzvqDUwb5vsTBN0As+O2h6eXbMw@mail.gmail.com>

Hi Viresh,

On Thu, 19 Feb 2015 15:57:27 +0800, Viresh Kumar wrote:
> On Mon, Nov 17, 2014 at 9:42 PM, Maxime Ripard
> <maxime.ripard@free-electrons.com> wrote:
> > For the slave caps retrieval to be really useful, most drivers need to
> > implement it.
> >
> > Hence, we need to be slightly more aggressive, and trigger a warning at
> > registration time for drivers that don't fill their caps infos in order to
> > encourage them to implement it.
> >
> > Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
> > Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> > ---
> >  drivers/dma/dmaengine.c | 3 +++
> >  1 file changed, 3 insertions(+)
> >
> > diff --git a/drivers/dma/dmaengine.c b/drivers/dma/dmaengine.c
> > index 98e9431f85ec..300c8cd2786c 100644
> > --- a/drivers/dma/dmaengine.c
> > +++ b/drivers/dma/dmaengine.c
> > @@ -827,6 +827,9 @@ int dma_async_device_register(struct dma_device *device)
> >         BUG_ON(!device->device_issue_pending);
> >         BUG_ON(!device->dev);
> >
> > +       WARN(dma_has_cap(DMA_SLAVE, device->cap_mask) && !device->directions,
> > +            "this driver doesn't support generic slave capabilities reporting\n");
> > +
> >         /* note: this only matters in the
> >          * CONFIG_ASYNC_TX_ENABLE_CHANNEL_SWITCH=n case
> >          */
> 
> Probably you need to fix this ?
> 
> https://bugzilla.kernel.org/show_bug.cgi?id=90801

My understanding is that the warning message is here on purpose to
instruct DMA driver authors to fix their code. So if anyone need to fix
anything, that would be you and Andy. That being said, I suspect Andy
already did that:

commit 029a40e97d0db269f4a7fc02b0f29f627f628309
Author: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Date:   Fri Jan 2 16:17:24 2015 +0200

    dmaengine: dw: provide DMA capabilities
    
Brian, can you please try the latest Linus or linux-next kernel (or
backport the above commit to your current kernel) and confirm that the
backtraces are no longer printed?

Thanks,
-- 
Jean Delvare
SUSE L3 Support

  reply	other threads:[~2015-02-19  8:09 UTC|newest]

Thread overview: 82+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-11-17 13:41 [PATCH v5 00/61] dmaengine: Implement generic slave capabilities retrieval Maxime Ripard
2014-11-17 13:41 ` [PATCH v5 01/61] serial: at91: Use dmaengine_slave_config API Maxime Ripard
2014-11-17 13:41 ` [PATCH v5 02/61] crypto: ux500: Use dmaengine_terminate_all API Maxime Ripard
2014-11-17 13:41 ` [PATCH v5 03/61] dmaengine: Make the destination abbreviation coherent Maxime Ripard
2014-11-17 13:41 ` [PATCH v5 04/61] dmaengine: Rework dma_chan_get Maxime Ripard
2014-11-17 13:41 ` [PATCH v5 05/61] dmaengine: Make channel allocation callbacks optional Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 06/61] dmaengine: Introduce a device_config callback Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 07/61] dmaengine: split out pause/resume operations from device_control Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 08/61] dmaengine: Add device_terminate_all callback Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 09/61] dmaengine: Remove the need to declare device_control Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 10/61] dmaengine: Create a generic dma_slave_caps callback Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 11/61] dmaengine: pl08x: Split device_control Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 12/61] dmaengine: hdmac: " Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 13/61] dmaengine: at_xdmac: split device_control Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 14/61] dmaengine: bcm2835: Split device_control Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 15/61] dmaengine: coh901318: " Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 16/61] dmaengine: cppi41: " Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 17/61] dmaengine: jz4740: " Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 18/61] dmaengine: dw: " Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 19/61] dmaengine: edma: " Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 20/61] dmaengine: ep93xx: " Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 21/61] dmaengine: fsl-edma: " Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 22/61] dmaengine: imx: " Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 23/61] dmaengine: imx-sdma: " Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 24/61] dmaengine: intel-mid-dma: " Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 25/61] dmaengine: ipu-idmac: " Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 26/61] dmaengine: k3: " Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 27/61] dmaengine: mmp-pdma: " Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 28/61] dmaengine: mmp-tdma: " Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 29/61] dmaengine: moxart: " Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 30/61] dmaengine: fsl-dma: " Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 31/61] dmaengine: mpc512x: " Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 32/61] dmaengine: mxs: " Maxime Ripard
2014-12-05 14:29   ` Vinod Koul
2014-11-17 13:42 ` [PATCH v5 33/61] dmaengine: nbpfaxi: " Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 34/61] dmaengine: omap: " Maxime Ripard
2014-12-05 14:27   ` Vinod Koul
2014-12-05 14:33     ` Maxime Ripard
2014-12-05 14:56       ` Vinod Koul
2014-12-05 17:07         ` Maxime Ripard
2014-12-05 17:39           ` Vinod Koul
2014-11-17 13:42 ` [PATCH v5 35/61] dmaengine: pl330: " Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 36/61] dmaengine: bam-dma: " Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 37/61] dmaengine: s3c24xx: " Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 38/61] dmaengine: sa11x0: " Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 39/61] dmaengine: sh: " Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 40/61] dmaengine: sirf: " Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 41/61] dmaengine: sun6i: " Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 42/61] dmaengine: d40: " Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 43/61] dmaengine: tegra20: " Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 44/61] dmaengine: xilinx: " Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 45/61] dmaengine: mv_xor: Remove device_control Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 46/61] dmaengine: pch-dma: Rename device_control Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 47/61] dmaengine: td: " Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 48/61] dmaengine: txx9: " Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 49/61] dmaengine: rapidio: tsi721: " Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 50/61] dmaengine: at_xdmac: Declare slave capabilities for the generic code Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 51/61] dmaengine: bcm2835: " Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 52/61] dmaengine: fsl-edma: " Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 53/61] dmaengine: edma: " Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 54/61] dmaengine: nbpfaxi: " Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 55/61] dmaengine: omap: " Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 56/61] dmaengine: pl330: " Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 57/61] dmaengine: sirf: " Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 58/61] dmaengine: sun6i: " Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 59/61] dmaengine: Add a warning for drivers not using the generic slave caps retrieval Maxime Ripard
2015-02-19  7:57   ` Viresh Kumar
2015-02-19  8:09     ` Jean Delvare [this message]
2015-02-19  8:53       ` Viresh Kumar
2015-02-20  6:24         ` Vinod Koul
2014-11-17 13:42 ` [PATCH v5 60/61] dmaengine: Remove device_control and device_slave_caps Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 61/61] Documentation: dmaengine: Update the documentation Maxime Ripard
2014-12-08  6:17 ` [PATCH v5 00/61] dmaengine: Implement generic slave capabilities retrieval Vinod Koul
2014-12-08  9:32   ` Ludovic Desroches
2014-12-08 13:30     ` Vinod Koul
2014-12-08 14:31       ` Maxime Ripard
2014-12-08 14:18   ` Maxime Ripard
2014-12-08 16:28     ` Vinod Koul
2014-12-08 18:38       ` Maxime Ripard
2014-12-08 21:49         ` Lars-Peter Clausen
2014-12-11 17:03           ` Maxime Ripard
2014-12-09  4:43         ` Vinod Koul

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20150219090917.159d3d2f@endymion.delvare \
    --to=jdelvare@suse.de \
    --cc=andriy.shevchenko@linux.intel.com \
    --cc=antoine@free-electrons.com \
    --cc=bloften80@gmail.com \
    --cc=dmaengine@vger.kernel.org \
    --cc=lars@metafoo.de \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@arm.linux.org.uk \
    --cc=maxime.ripard@free-electrons.com \
    --cc=vinod.koul@intel.com \
    --cc=viresh.kumar@linaro.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox