lkml.org 
[lkml]   [2008]   [Jan]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRE: [PATCH 2/4] async_tx: kill tx_set_src and tx_set_dest methods
Date
From
>From: Williams, Dan J 
>
>The tx_set_src and tx_set_dest methods were originally
>implemented to allow
>an array of addresses to be passed down from async_xor to the dmaengine
>driver while minimizing stack overhead. Removing these methods allows
>drivers to have all transaction parameters available at 'prep'
>time, saves
>two function pointers in struct dma_async_tx_descriptor, and
>reduces the
>number of indirect branches..
>
>A consequence of moving this data to the 'prep' routine is that
>multi-source routines like async_xor need temporary storage to
>convert an
>array of linear addresses into an array of dma addresses. In
>order to keep
>the same stack footprint of the previous implementation the
>input array is
>reused as storage for the dma addresses. This requires that
>sizeof(dma_addr_t) be less than or equal to sizeof(void *). As a
>consequence CONFIG_DMADEVICES now depends on
>!CONFIG_HIGHMEM64G. It also
>requires that drivers be able to make descriptor resources
>available when
>the 'prep' routine is polled.
>
>Signed-off-by: Dan Williams <dan.j.williams@intel.com>
>---
[... Snip ...]

Sorry I took so long to get back to this. The ioatdma related changes
look fine - I like this approach much better.

Acked by: Shannon Nelson <shannon.nelson@intel.com>


\
 
 \ /
  Last update: 2008-01-04 22:49    [from the cache]
©2003-2011 Jasper Spaans