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

From: Nicolas Ferre
Date: Tue Jul 21 2009 - 04:34:54 EST


Dan Williams :
> On Fri, Jul 3, 2009 at 10:24 AM, Nicolas Ferre<nicolas.ferre@xxxxxxxxx> 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>
>> ---
>> v2 is here:
>> http://lkml.org/lkml/2009/6/26/104
>>
>> v2 -> v3:
>> - initial number of descriptors to allocate for each channel raised to 64 and
>> is now a parameter
>> - ack-bit in descriptor flag comment synchronized with TXx9 dma driver
>> - atc_desc_get() when short on descriptors in pool: create one at a time
>> - allocation flag changed to GFP_ATOMIC in atc_desc_get()
>> - call to proper funtion while unmapping: use of new
>> DMA_COMPL_{SRC,DEST}_UNMAP_SINGLE flags
>> - call dma_run_dependencies() at the end of atc_chain_complete()
>>
>
> Looks good, but now I belatedly wonder if that GFP_ATOMIC should be
> GFP_NOWAIT instead? Do we really want to consume from the system
> emergency pools for these allocations (a similar fix is need for
> ioatdma and fsldma)?

Seems sensible indeed but I know little about allocation flags.

What do you think about including the driver and then building a patch
that fixes this flag in all allocation functions at a time.
It may add exposure to this modification and maybe encourage people to
react...

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/