[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
    >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 <>
    [... 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 <>

     \ /
      Last update: 2008-01-04 22:49    [W:0.021 / U:12.688 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site