From mboxrd@z Thu Jan 1 00:00:00 1970 From: Linus Walleij Subject: Re: [PATCH 00/11] ARM: PrimeCell DMA Interface v5 Date: Sun, 2 May 2010 01:04:37 +0200 Message-ID: References: <1270681920-4461-1-git-send-email-linus.walleij@stericsson.com> <20100422110025.GC20008@n2100.arm.linux.org.uk> <20100501224429.GA17693@n2100.arm.linux.org.uk> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: QUOTED-PRINTABLE Return-path: Received: from mail-bw0-f219.google.com ([209.85.218.219]:32973 "EHLO mail-bw0-f219.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754726Ab0EAXEi convert rfc822-to-8bit (ORCPT ); Sat, 1 May 2010 19:04:38 -0400 In-Reply-To: <20100501224429.GA17693@n2100.arm.linux.org.uk> Sender: linux-mmc-owner@vger.kernel.org List-Id: linux-mmc@vger.kernel.org To: Russell King - ARM Linux Cc: Dan Williams , Linus WALLEIJ , "akpm@linux-foundation.org" , Grant Likely , "linux-arm-kernel@lists.infradead.org" , "linux-mmc@vger.kernel.org" , STEricsson_nomadik_linux , "linux-kernel@vger.kernel.org" 2010/5/2 Russell King - ARM Linux : > Versatile has some MUXing on three of the DMA signals, so (eg) we > really don't want UARTs claiming DMAs just because they're in existen= ce > and not in use - that would prevent DMAs from being used for (eg) AAC= I > or MMC. As long as Versatile doesn't specify any filter function or data for the channel allocation function (it currently doesn't and defa= ults to NULL) it won't even try to call the DMA engine to allocate a channel for say the UART. There is nothing blocking some other peripheral from grabbing a muxed channel in that case. But the implementation of the DMA engine would be better of handling the muxing dynamically I believe, so when the PL011 driver (say) requests a DMA channel, it doesn't mean it requests the *physical* channel and holds it (unless the driver is very na=EFvely implemented) it nominally means it reserves a placeholder in the DMA engine. When the driver issues a request to perform a DMA transfer, it will pul= l out a physical channel and use that, then return it. If there is too much combat about the physical channels, you configure out DMA for the least wanted PrimeCells. Yours, Linus Walleij