Re: [PATCH 1/2 v2] dmaengine: at_hdmac: new driver for the AtmelAHB DMA Controller

From: Nicolas Ferre
Date: Fri Jul 03 2009 - 09:05:02 EST


Sosnowski, Maciej :
> Nicolas Ferre wrote:
>> This AHB DMA Controller (aka HDMA or DMAC on AT91 systems) is availlable on
>> at91sam9rl chip. It will be used on other products in the future.
>>
>> This first release covers only the memory-to-memory tranfer type. This is the
>> only tranfer type supported by this chip. On other products, it will be used
>> also for peripheral DMA transfer (slave API support to come).
>>
>> I used dmatest client without problem in different configurations to test it.
>>
>> Full documentation for this controller can be found in the SAM9RL datasheet:
>> http://www.atmel.com/dyn/products/product_card.asp?part_id=4243
>>
>> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx>
>> ---
> [...]
>> + /*
>> + * We use dma_unmap_page() regardless of how the buffers were
>> + * mapped before they were submitted...
>> + */
>> + if (!(txd->flags & DMA_COMPL_SKIP_DEST_UNMAP))
>> + dma_unmap_page(chan2parent(&atchan->chan_common), desc->lli.daddr,
>> + desc->len, DMA_FROM_DEVICE);
>> + if (!(txd->flags & DMA_COMPL_SKIP_SRC_UNMAP))
>> + dma_unmap_page(chan2parent(&atchan->chan_common), desc->lli.saddr,
>> + desc->len, DMA_TO_DEVICE);
>
> It is similar issue as the one fixed in 2.6.30 by 'ioatdma: fix "ioatdma frees DMA memory with wrong function"' patch:
> commit 4f005dbe5584fe54c9f6d6d4f0acd3fb29be84da.
> Note that this patch introduces dma control flags: DMA_COMPL_SRC_UNMAP_SINGLE and DMA_COMPL_DEST_UNMAP_SINGLE,
> that could be used by the driver to choose proper unmapping.

Sure Maciej, I correct this in my v3 patch (already done locally BTW).

Kind regards,
--
Nicolas Ferre

--
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/