lkml.org 
[lkml]   [2011]   [Jun]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCH] dmaengine: failure to get a specific DMA channel is not critical
From
On Tue, Jun 21, 2011 at 9:19 AM, Kuninori Morimoto
<kuninori.morimoto.gx@renesas.com> wrote:
>
> Dear Guennadi, all
>
>> There exist systems with multiple DMA controllers with different
>> capabilities. For example, on some sh-mobile / rmobile systems there are
>> DMA controllers, whose channels can be configured to be used with
>> SD- and MMC-host controllers, serial ports etc. Besides there are also
>> DMA controllers, that can only be used for one special function, e.g.,
>> for USB. In such cases the DMA client filter function can just choose
>> to specify to the DMA driver, which channel it needs. Then the
>> .device_alloc_chan_resources() method of the DMA driver will check,
>> whether it can provide that dunction. If not, it will fail and the loop
>> in __dma_request_channel() will continue to the next DMA device, until
>> it finds a suitable one. This works fine with just one minor glitch:
>> the kernel logs error messages like
>>
>> dmaengine: failed to get <channel name>: (-<error code>)
>>
>> after each such non-critical failure. This patch lowers priority of
>> this message to the debug level.
>>
>> Reported-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
>> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
>> ---
>>
>> Morimoto-san, I don't expect this patch to fail;), but if you like, you
>> could give it a short spin and send your "tested-by" in reply to this
>> mail.
>
> Thanks.
> I tested this patch.
>
> I don't know that the dmaengine design,
> but this patch remove non-critical error message from USB-DMAC for me.
> I tested it on mackerel board + renesas_usbhs + USB-DMAC
>
> Tested-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>

So I too gave the USBHS + USBHS-DMAC patches a go on top of
linux-3.0-rc and they seem to work as expected.
Without "[PATCH] dmaengine: failure to get a specific DMA channel is
not critical" applied I get the following log:

/ # echo /dev/mtdblock4 > /sys/devices/platform/renesas_usbhs.1/gadget/lun0/file

[hook up laptop to the USB gadget port]

/ # dmaengine: failed to get dma0chan4: (-22)
dmaengine: failed to get dma1chan0: (-22)
dmaengine: failed to get dma2chan0: (-22)
dmaengine: failed to get dma3chan0: (-22)
dmaengine: failed to get dma0chan4: (-22)
dmaengine: failed to get dma1chan0: (-22)
dmaengine: failed to get dma2chan0: (-22)
dmaengine: failed to get dma3chan0: (-22)
g_mass_storage gadget: high speed config #1: Linux File-Backed Storage

With this patch applied the "dmaengine: failed to get..." messages all go away.

Tested-by: Magnus Damm <damm@opensource.se>

Cheers,

/ magnus


\
 
 \ /
  Last update: 2011-06-22 03:53    [W:0.075 / U:0.176 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site