[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <AANLkTi=jStVGbJC7jUyhOG3og14F58rw+LEN2UqnP-X0@mail.gmail.com>
Date: Wed, 28 Jul 2010 01:09:42 -0700
From: Dan Williams <dan.j.williams@...el.com>
To: Linus Walleij <linus.walleij@...ricsson.com>
Cc: linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org,
yuanyabin1978@...a.com, Peter Pearse <peter.pearse@....com>,
Ben Dooks <ben-linux@...ff.org>,
Kukjin Kim <kgene.kim@...sung.com>,
Alessandro Rubini <rubini@...pv.it>,
Viresh Kumar <viresh.kumar@...com>,
Russell King <rmk@....linux.org.uk>
Subject: Re: [PATCH 2/2] DMAENGINE: driver for the ARM PL080/PL081 PrimeCells
On Tue, Jun 29, 2010 at 4:36 AM, Linus Walleij
<linus.walleij@...ricsson.com> wrote:
> This creates a DMAengine driver for the ARM PL080/PL081 PrimeCells
> based on the implementation earlier submitted by Peter Pearse.
> This is working like a charm for memcpy and slave DMA to the PL011
> PrimeCell on the PB11MPCore.
>
> This DMA controller is used in mostly unmodified form in the ARM
> RealView and Versatile platforms, in the ST-Ericsson Nomadik, and
> in the ST SPEAr platform.
>
> It has been converted to use the header from the Samsung PL080
> derivate instead of its own defintions. The Samsungs have a custom
> driver in their mach-* folders though, atleast we can share the
> register definitions.
>
> Cc: Peter Pearse <peter.pearse@....com>
> Cc: Ben Dooks <ben-linux@...ff.org>
> Cc: Kukjin Kim <kgene.kim@...sung.com>
> Cc: Alessandro Rubini <rubini@...pv.it>
> Cc: Viresh Kumar <viresh.kumar@...com>
> Signed-off-by: Linus Walleij <linus.walleij@...ricsson.com>
> ---
> Changes since last revision: this has now been successfully tested
> with PL011 UART on the PB11MPCore.
>
> It now uses the generic runtime slave control and not the PrimeCell
> extensions, and thus depends only on that patch set. With the previous
> patch to the header file this is cleanly separated from the ARM tree
> and any PrimeCell drivers and can go into the async_tx tree as it is
> without further dependencies.
> ---
Russell I am assuming this implementation and testing is sufficient to
allay your prior nak [1]? Linus is oversubscribing virtual channels
to physical channels to handle muxing.
> +#ifdef MODULE
> +
> +# error "AMBA PL08X DMA CANNOT BE COMPILED AS A LOADABLE MODULE AT PRESENT"
> +
> +/*
> + a) Some devices might make use of DMA during boot
> + (esp true for DMAENGINE implementation)
> + b) Memory allocation will need much more attention
> + before load/unload can be supported
> + */
> +#endif
This is taken care of by being "config bool", but I assume you want
this for documentation purposes?
> + txd = kzalloc(sizeof(struct pl08x_txd), GFP_KERNEL);
...appears in the prep routines. Will this driver be used by any
storage controllers on the platfom? Might we deadlock waiting on i/o
that needs to allocate a descriptor to complete?
--
Dan
[1]: http://marc.info/?l=linux-arm-kernel&m=127350477914098&w=2
--
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