Thread (82 messages) 82 messages, 6 authors, 2015-02-20

[PATCH v5 59/61] dmaengine: Add a warning for drivers not using the generic slave caps retrieval

From: Jean Delvare <hidden>
Date: 2015-02-19 08:09:25
Also in: lkml

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
[off-list ref] wrote:
quoted
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 <redacted>
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 [off-list ref]
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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help