[PATCH] DMA: PL330: Add dma api driver

Dan Williams dan.j.williams at intel.com
Mon May 17 05:55:28 EDT 2010


Hi Jassi,

Looks good, one comment:

On Tue, May 11, 2010 at 10:23 PM, Jassi Brar <jassi.brar at samsung.com> wrote:
> Add 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>
[..]
> +static void dma_pl330_rqcb(void *token, enum pl330_op_err err)
> +{
> +       struct dma_pl330_desc *desc = token;
> +       struct dma_pl330_chan *pch = desc->pchan;
> +       unsigned long flags;
> +
> +       /* If desc aborted */
> +       if (!pch)
> +               return;
> +
> +       spin_lock_irqsave(&pch->lock, flags);
> +
> +       desc->status = DONE;
> +
> +       spin_unlock_irqrestore(&pch->lock, flags);

I don't think you need the lock here.  Assigning an integer is atomic,
and you reschedule the tasklet.

Since this patch depends on the generic bits in Russell's tree I need
to wait until after the ARM tree is pulled to take it through the dma
tree.  So, for now...

Acked-by: Dan Williams <dan.j.williams at intel.com>



More information about the linux-arm-kernel mailing list