[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <BANLkTingHGRRCOsVZDs1W+FfdL1s1NCxhw@mail.gmail.com>
Date: Wed, 22 Jun 2011 10:49:48 +0900
From: Magnus Damm <magnus.damm@...il.com>
To: Kuninori Morimoto <kuninori.morimoto.gx@...esas.com>
Cc: Guennadi Liakhovetski <g.liakhovetski@....de>,
linux-kernel@...r.kernel.org, linux-sh@...r.kernel.org,
Dan Williams <dan.j.williams@...el.com>,
Vinod Koul <vinod.koul@...el.com>
Subject: Re: [PATCH] dmaengine: failure to get a specific DMA channel is not critical
On Tue, Jun 21, 2011 at 9:19 AM, Kuninori Morimoto
<kuninori.morimoto.gx@...esas.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@...esas.com>
>> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@....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@...esas.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@...nsource.se>
Cheers,
/ magnus
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists