[PATCH] [PPC32] ADMA support for PPC 440SPe processors.

Dan Williams dan.j.williams at intel.com
Sun Mar 18 05:17:58 EST 2007


On 3/17/07, Stefan Roese <sr at denx.de> wrote:
> Dan,
>
> I just noticed that your patch "dmaengine: add the async_tx api":
>
> @@ -22,6 +22,17 @@ config NET_DMA
>           Since this is the main user of the DMA engine, it should be enabled;
>           say Y here.
>
> +config ASYNC_TX_DMA
> +       tristate "Asynchronous Bulk Memory Transfers/Transforms API"
> +       default y
> +       ---help---
> +         This enables the async_tx management layer for dma engines.
> +         Subsystems coded to this API will use offload engines for bulk
> +         memory operations where present.  Software implementations are
> +         called when a dma engine is not present or fails to allocate
> +         memory to carry out the transaction.
> +         Current subsystems ported to async_tx: MD_RAID4,5
> +
>
> adds ASYNC_TX_DMA unconditionally to _all_ platforms. You might what to bundle
> this with something like DMA_ENGINE.
>
Yes, defaulting to 'y' is not necessary, but ASYNC_TX_DMA=y &&
DMA_ENGINE=n is an explicit feature of the interface.  When DMA_ENGINE
is not selected all the asynchronous paths in the API are compiled
out.  This allows subsytems, like md-raid5, to be written in an
asynchronous fashion without regard for the architecture[1] or
availability of offload engines.

> Best regards,
> Stefan

Regards,
Dan

[1] The API implicitly handles channel switching depending on the
offload engine architecture.  Where an iop13xx engine can handle a
copy+xor sequence on one channel, a 440sp or iop3xx platform will need
to switch between copy and xor capable engines.  Resolving operation
dependencies and channel switching is handled behind the scenes.



More information about the Linuxppc-dev mailing list