[PATCH 2/2] DMA: PL330: Add async dma api driver

Linus Walleij linus.ml.walleij at gmail.com
Fri May 7 04:59:26 EDT 2010


2010/5/7 Jassi Brar <jassisinghbrar at gmail.com>:

> Add ASYNC DMA Engine API driver for the PL330 DMAC.
> This driver is supposed to be reusable by various
> platforms that have one or more PL330 DMACs.
> Atm, DMA_SLAVE and DMA_MEMCPY capabilities have been
> implemented.
>
> Signed-off-by: Jassi Brar <jassi.brar at samsung.com>

This needs some updating to apply and compile on Dan Williams tree,
please clone async_tx from git.kernel.org and generate the patch on that
tree instead. (It's my updates for generic channel status etc that
collide.)

You'll also find these changes in Rothwell's -next tree.

> (...)

> +static void pl330_terminate_all(struct dma_chan *chan)

This needs to be converted to the new prototype and will look
something like this:

static int
pl330_control(struct dma_chan *chan, enum dma_ctrl_cmd cmd)

> +static enum dma_status
> +pl330_is_tx_complete(struct dma_chan *chan, dma_cookie_t cookie,
> +               dma_cookie_t *done, dma_cookie_t *used)

This needs to be converted to the new prototype and will look
something like this:

static enum dma_status
pl330_tx_status(struct dma_chan *chan, dma_cookie_t cookie,
                 struct dma_tx_state *txstate)

See the other drivers for examples, e.g. coh901318.c
coh901318_control() and coh901318_tx_status()

(...)
> +       pd->device_is_tx_complete = pl330_is_tx_complete;
> +       pd->device_prep_slave_sg = pl330_prep_slave_sg;
> +       pd->device_terminate_all = pl330_terminate_all;
> +       pd->device_issue_pending = pl330_issue_pending;

Consequential updates here.

Sorry for the mess, moving target as usual...

If you fix this and test it on async_tx it's:
Reviewed-by: Linus Walleij <linus.walleij at stericsson.com>

Yours,
Linus Walleij



More information about the linux-arm-kernel mailing list