Re: [PATCH 2/3] dt-bindings: mtd: atmel-quadspi: add an optional property 'dmacap,memcpy'

From: Rob Herring
Date: Tue Dec 26 2017 - 18:23:52 EST


On Sun, Dec 24, 2017 at 05:36:05AM +0100, Cyrille Pitchen wrote:
> The optional 'dmacap,memcpy' DT property tells the Atmel QSPI controller
> driver to reserve some DMA channel then to use it to perform DMA
> memcpy() during data transfers. This feature relies on the generic
> bounce buffer helper from spi-nor.c.
>
> Signed-off-by: Cyrille Pitchen <cyrille.pitchen@xxxxxxxxxx>
> ---
> Documentation/devicetree/bindings/mtd/atmel-quadspi.txt | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/mtd/atmel-quadspi.txt b/Documentation/devicetree/bindings/mtd/atmel-quadspi.txt
> index b93c1e2f25dd..002d3f0a445b 100644
> --- a/Documentation/devicetree/bindings/mtd/atmel-quadspi.txt
> +++ b/Documentation/devicetree/bindings/mtd/atmel-quadspi.txt
> @@ -12,6 +12,10 @@ Required properties:
> - #address-cells: Should be <1>.
> - #size-cells: Should be <0>.
>
> +Optional properties:
> +- dmacap,memcpy: Reserve a DMA channel to perform DMA memcpy() between the
> + system memory and the QSPI mapped memory.

How is this a h/w property? Why would I not want to always enable DMA if
possible?

Furthermore, you are reusing a property, but giving it a different
meaning. The current definition is an indication whether a DMA
controller supports memcpy operations or not. It is not a flag for
clients to use memcpy channels.

Why don't you use "dmas" property to point to the DMA controller.

> +
> Example:
>
> spi@f0020000 {
> @@ -24,6 +28,7 @@ spi@f0020000 {
> #size-cells = <0>;
> pinctrl-names = "default";
> pinctrl-0 = <&pinctrl_spi0_default>;
> + dmacap,memcpy;
>
> m25p80@0 {
> ...
> --
> 2.11.0
>
> --
> To unsubscribe from this list: send the line "unsubscribe devicetree" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at http://vger.kernel.org/majordomo-info.html