Re: [PATCH] DMA: PL330: Add dma api driver

From: Dan Williams
Date: Mon May 17 2010 - 05:55:33 EST


Hi Jassi,

Looks good, one comment:

On Tue, May 11, 2010 at 10:23 PM, Jassi Brar <jassi.brar@xxxxxxxxxxx> 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@xxxxxxxxxxx>
[..]
> +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@xxxxxxxxx>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/