<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in async_tx.c</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>0dee6cd2 - async_tx: fix kernel-doc notation warnings</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/crypto/async_tx/async_tx.c#0dee6cd2</link>
        <description>async_tx: fix kernel-doc notation warningsFix kernel-doc warnings by adding &quot;struct&quot; keyword or &quot;enum&quot; keyword.Also fix 2 function parameter descriptions.Change some functions and structs from kernel-doc /** notationto regular /* comment notation.async_pq.c:18: warning: cannot understand function prototype: &apos;struct page *pq_scribble_page; &apos;async_pq.c:18: error: Cannot parse struct or union!async_pq.c:40: warning: No description found for return value of &apos;do_async_gen_syndrome&apos;async_pq.c:109: warning: Function parameter or member &apos;blocks&apos; not described in &apos;do_sync_gen_syndrome&apos;async_pq.c:109: warning: Function parameter or member &apos;offsets&apos; not described in &apos;do_sync_gen_syndrome&apos;async_pq.c:109: warning: Function parameter or member &apos;disks&apos; not described in &apos;do_sync_gen_syndrome&apos;async_pq.c:109: warning: Function parameter or member &apos;len&apos; not described in &apos;do_sync_gen_syndrome&apos;async_pq.c:109: warning: Function parameter or member &apos;submit&apos; not described in &apos;do_sync_gen_syndrome&apos;async_tx.c:136: warning: cannot understand function prototype: &apos;enum submit_disposition &apos;async_tx.c:264: warning: Function parameter or member &apos;tx&apos; not described in &apos;async_tx_quiesce&apos;Signed-off-by: Randy Dunlap &lt;rdunlap@infradead.org&gt;Cc: Dan Williams &lt;dan.j.williams@intel.com&gt;Cc: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;Cc: &quot;David S. Miller&quot; &lt;davem@davemloft.net&gt;Cc: linux-crypto@vger.kernel.orgReviewed-by: Dan Williams &lt;dan.j.williams@intel.com&gt;Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;

            List of files:
            /linux-6.15/crypto/async_tx/async_tx.c</description>
        <pubDate>Tue, 14 Mar 2023 02:47:34 +0000</pubDate>
        <dc:creator>Randy Dunlap &lt;rdunlap@infradead.org&gt;</dc:creator>
    </item>
<item>
        <title>a61127c2 - treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 335</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/crypto/async_tx/async_tx.c#a61127c2</link>
        <description>treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 335Based on 1 normalized pattern(s):  this program is free software you can redistribute it and or modify  it under the terms and conditions of the gnu general public license  version 2 as published by the free software foundation this program  is distributed in the hope it will be useful but without any  warranty without even the implied warranty of merchantability or  fitness for a particular purpose see the gnu general public license  for more details you should have received a copy of the gnu general  public license along with this program if not write to the free  software foundation inc 51 franklin st fifth floor boston ma 02110  1301 usaextracted by the scancode license scanner the SPDX license identifier  GPL-2.0-onlyhas been chosen to replace the boilerplate/reference in 111 file(s).Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;Reviewed-by: Alexios Zavras &lt;alexios.zavras@intel.com&gt;Reviewed-by: Allison Randal &lt;allison@lohutok.net&gt;Cc: linux-spdx@vger.kernel.orgLink: https://lkml.kernel.org/r/20190530000436.567572064@linutronix.deSigned-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

            List of files:
            /linux-6.15/crypto/async_tx/async_tx.c</description>
        <pubDate>Wed, 29 May 2019 23:57:49 +0000</pubDate>
        <dc:creator>Thomas Gleixner &lt;tglx@linutronix.de&gt;</dc:creator>
    </item>
<item>
        <title>157efa8c - async_tx: use DMA_COMPLETE for dma completion status</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/crypto/async_tx/async_tx.c#157efa8c</link>
        <description>async_tx: use DMA_COMPLETE for dma completion statusAcked-by: Dan Williams &lt;dan.j.williams@intel.com&gt;Acked-by: Linus Walleij &lt;linus.walleij@linaro.org&gt;Signed-off-by: Vinod Koul &lt;vinod.koul@intel.com&gt;

            List of files:
            /linux-6.15/crypto/async_tx/async_tx.c</description>
        <pubDate>Wed, 16 Oct 2013 15:35:50 +0000</pubDate>
        <dc:creator>Vinod Koul &lt;vinod.koul@intel.com&gt;</dc:creator>
    </item>
<item>
        <title>7d283397 - async_tx: fix checking of dma_wait_for_async_tx() return value</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/crypto/async_tx/async_tx.c#7d283397</link>
        <description>async_tx: fix checking of dma_wait_for_async_tx() return valuedma_wait_for_async_tx() can also return DMA_PAUSED (whichshould be considered as error).Cc: Vinod Koul &lt;vinod.koul@intel.com&gt;Cc: Dan Williams &lt;djbw@fb.com&gt;Cc: Tomasz Figa &lt;t.figa@samsung.com&gt;Signed-off-by: Bartlomiej Zolnierkiewicz &lt;b.zolnierkie@samsung.com&gt;Signed-off-by: Kyungmin Park &lt;kyungmin.park@samsung.com&gt;Signed-off-by: Dan Williams &lt;djbw@fb.com&gt;

            List of files:
            /linux-6.15/crypto/async_tx/async_tx.c</description>
        <pubDate>Thu, 08 Nov 2012 10:03:16 +0000</pubDate>
        <dc:creator>Bartlomiej Zolnierkiewicz &lt;b.zolnierkie@samsung.com&gt;</dc:creator>
    </item>
<item>
        <title>4bb33cc8 - crypto: add module.h to those files that are explicitly using it</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/crypto/async_tx/async_tx.c#4bb33cc8</link>
        <description>crypto: add module.h to those files that are explicitly using itPart of the include cleanups means that the implicitinclusion of module.h via device.h is going away.  Sofix things up in advance.Signed-off-by: Paul Gortmaker &lt;paul.gortmaker@windriver.com&gt;

            List of files:
            /linux-6.15/crypto/async_tx/async_tx.c</description>
        <pubDate>Fri, 27 May 2011 18:41:48 +0000</pubDate>
        <dc:creator>Paul Gortmaker &lt;paul.gortmaker@windriver.com&gt;</dc:creator>
    </item>
<item>
        <title>caa20d97 - async_tx: trim dma_async_tx_descriptor in &apos;no channel switch&apos; case</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/crypto/async_tx/async_tx.c#caa20d97</link>
        <description>async_tx: trim dma_async_tx_descriptor in &apos;no channel switch&apos; caseSaves 24 bytes per descriptor (64-bit) when the channel-switchingcapabilities of async_tx are not required.Signed-off-by: Dan Williams &lt;dan.j.williams@intel.com&gt;

            List of files:
            /linux-6.15/crypto/async_tx/async_tx.c</description>
        <pubDate>Mon, 17 May 2010 23:24:16 +0000</pubDate>
        <dc:creator>Dan Williams &lt;dan.j.williams@intel.com&gt;</dc:creator>
    </item>
<item>
        <title>138f4c35 - dmaengine, async_tx: add a &quot;no channel switch&quot; allocator</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/crypto/async_tx/async_tx.c#138f4c35</link>
        <description>dmaengine, async_tx: add a &quot;no channel switch&quot; allocatorChannel switching is problematic for some dmaengine drivers as thearchitecture precludes separating the -&gt;prep from -&gt;submit.  In thesecases the driver can select ASYNC_TX_DISABLE_CHANNEL_SWITCH to modifythe async_tx allocator to only return channels that support all of therequired asynchronous operations.For example MD_RAID456=y selects support for asynchronous xor, xorvalidate, pq, pq validate, and memcpy.  WhenASYNC_TX_DISABLE_CHANNEL_SWITCH=y any channel with all thesecapabilities is marked DMA_ASYNC_TX allowing async_tx_find_channel() toquickly locate compatible channels with the guarantee that dependencychains will remain on one channel.  WhenASYNC_TX_DISABLE_CHANNEL_SWITCH=n async_tx_find_channel() may selectchannels that lead to operation chains that need to cross channelboundaries using the async_tx channel switch capability.Signed-off-by: Dan Williams &lt;dan.j.williams@intel.com&gt;

            List of files:
            /linux-6.15/crypto/async_tx/async_tx.c</description>
        <pubDate>Wed, 09 Sep 2009 00:42:51 +0000</pubDate>
        <dc:creator>Dan Williams &lt;dan.j.williams@intel.com&gt;</dc:creator>
    </item>
<item>
        <title>95475e57 - async_tx: remove walk of tx-&gt;parent chain in dma_wait_for_async_tx</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/crypto/async_tx/async_tx.c#95475e57</link>
        <description>async_tx: remove walk of tx-&gt;parent chain in dma_wait_for_async_txWe currently walk the parent chain when waiting for a given tx tocomplete however this walk may race with the driver cleanup routine.The routines in async_raid6_recov.c may fall back to the synchronouspath at any point so we need to be prepared to call async_tx_quiesce()(which calls  dma_wait_for_async_tx).  To remove the -&gt;parent walk weguarantee that every time a dependency is attached -&gt;issue_pending() isinvoked, then we can simply poll the initial descriptor untilcompletion.This also allows for a lighter weight &apos;issue pending&apos; implementation asthere is no longer a requirement to iterate through all the channels&apos;-&gt;issue_pending() routines as long as operations have been submitted inan ordered chain.  async_tx_issue_pending() is added for this case.Signed-off-by: Dan Williams &lt;dan.j.williams@intel.com&gt;

            List of files:
            /linux-6.15/crypto/async_tx/async_tx.c</description>
        <pubDate>Tue, 14 Jul 2009 19:19:02 +0000</pubDate>
        <dc:creator>Dan Williams &lt;dan.j.williams@intel.com&gt;</dc:creator>
    </item>
<item>
        <title>af1f951e - async_tx: kill needless module_{init|exit}</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/crypto/async_tx/async_tx.c#af1f951e</link>
        <description>async_tx: kill needless module_{init|exit}If module_init and module_exit are nops then neither need to be defined.[ Impact: pure cleanup ]Reviewed-by: Andre Noll &lt;maan@systemlinux.org&gt;Acked-by: Maciej Sosnowski &lt;maciej.sosnowski@intel.com&gt;Signed-off-by: Dan Williams &lt;dan.j.williams@intel.com&gt;

            List of files:
            /linux-6.15/crypto/async_tx/async_tx.c</description>
        <pubDate>Sun, 30 Aug 2009 02:09:26 +0000</pubDate>
        <dc:creator>Dan Williams &lt;dan.j.williams@intel.com&gt;</dc:creator>
    </item>
<item>
        <title>a08abd8c - async_tx: structify submission arguments, add scribble</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/crypto/async_tx/async_tx.c#a08abd8c</link>
        <description>async_tx: structify submission arguments, add scribblePrepare the api for the arrival of a new parameter, &apos;scribble&apos;.  Thiswill allow callers to identify scratchpad memory for dma address or pageaddress conversions.  As this adds yet another parameter, take thisopportunity to convert the common submission parameters (flags,dependency, callback, and callback argument) into an object that ispassed by reference.Also, take this opportunity to fix up the kerneldoc and add notes aboutthe relevant ASYNC_TX_* flags for each routine.[ Impact: moves api pass-by-value parameters to a pass-by-reference struct ]Signed-off-by: Andre Noll &lt;maan@systemlinux.org&gt;Acked-by: Maciej Sosnowski &lt;maciej.sosnowski@intel.com&gt;Signed-off-by: Dan Williams &lt;dan.j.williams@intel.com&gt;

            List of files:
            /linux-6.15/crypto/async_tx/async_tx.c</description>
        <pubDate>Wed, 03 Jun 2009 18:43:59 +0000</pubDate>
        <dc:creator>Dan Williams &lt;dan.j.williams@intel.com&gt;</dc:creator>
    </item>
<item>
        <title>88ba2aa5 - async_tx: kill ASYNC_TX_DEP_ACK flag</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/crypto/async_tx/async_tx.c#88ba2aa5</link>
        <description>async_tx: kill ASYNC_TX_DEP_ACK flagIn support of inter-channel chaining async_tx utilizes an ack flag togate whether a dependent operation can be chained to another.  While theflag is not set the chain can be considered open for appending.  Settingthe ack flag closes the chain and flags the descriptor for garbagecollection.  The ASYNC_TX_DEP_ACK flag essentially means &quot;close thechain after adding this dependency&quot;.  Since each operation can only haveone child the api now implicitly sets the ack flag at dependencysubmission time.  This removes an unnecessary management burden fromclients of the api.[ Impact: clean up and enforce one dependency per operation ]Reviewed-by: Andre Noll &lt;maan@systemlinux.org&gt;Acked-by: Maciej Sosnowski &lt;maciej.sosnowski@intel.com&gt;Signed-off-by: Dan Williams &lt;dan.j.williams@intel.com&gt;

            List of files:
            /linux-6.15/crypto/async_tx/async_tx.c</description>
        <pubDate>Thu, 09 Apr 2009 23:16:18 +0000</pubDate>
        <dc:creator>Dan Williams &lt;dan.j.williams@intel.com&gt;</dc:creator>
    </item>
<item>
        <title>729b5d1b - dmaengine: allow dma support for async_tx to be toggled</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/crypto/async_tx/async_tx.c#729b5d1b</link>
        <description>dmaengine: allow dma support for async_tx to be toggledProvide a config option for blocking the allocation of dma channels tothe async_tx api.Signed-off-by: Dan Williams &lt;dan.j.williams@intel.com&gt;

            List of files:
            /linux-6.15/crypto/async_tx/async_tx.c</description>
        <pubDate>Wed, 25 Mar 2009 16:13:25 +0000</pubDate>
        <dc:creator>Dan Williams &lt;dan.j.williams@intel.com&gt;</dc:creator>
    </item>
<item>
        <title>209b84a8 - dmaengine: replace dma_async_client_register with dmaengine_get</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/crypto/async_tx/async_tx.c#209b84a8</link>
        <description>dmaengine: replace dma_async_client_register with dmaengine_getNow that clients no longer need to be notified of channel arrivaldma_async_client_register can simply increment the dmaengine_ref_count.Reviewed-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;Signed-off-by: Dan Williams &lt;dan.j.williams@intel.com&gt;

            List of files:
            /linux-6.15/crypto/async_tx/async_tx.c</description>
        <pubDate>Tue, 06 Jan 2009 18:38:17 +0000</pubDate>
        <dc:creator>Dan Williams &lt;dan.j.williams@intel.com&gt;</dc:creator>
    </item>
<item>
        <title>2ba05622 - dmaengine: provide a common &apos;issue_pending_all&apos; implementation</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/crypto/async_tx/async_tx.c#2ba05622</link>
        <description>dmaengine: provide a common &apos;issue_pending_all&apos; implementationasync_tx and net_dma each have open-coded versions of issue_pending_all,so provide a common routine in dmaengine.The implementation needs to walk the global device list, so implementrcu to allow dma_issue_pending_all to run lockless.  Clients protectthemselves from channel removal events by holding a dmaengine reference.Reviewed-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;Signed-off-by: Dan Williams &lt;dan.j.williams@intel.com&gt;

            List of files:
            /linux-6.15/crypto/async_tx/async_tx.c</description>
        <pubDate>Tue, 06 Jan 2009 18:38:14 +0000</pubDate>
        <dc:creator>Dan Williams &lt;dan.j.williams@intel.com&gt;</dc:creator>
    </item>
<item>
        <title>bec08513 - dmaengine: centralize channel allocation, introduce dma_find_channel</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/crypto/async_tx/async_tx.c#bec08513</link>
        <description>dmaengine: centralize channel allocation, introduce dma_find_channelAllowing multiple clients to each define their own channel allocationscheme quickly leads to a pathological situation.  For memory-to-memoryoffload all clients can share a central allocator.This simply moves the existing async_tx allocator to dmaengine withminimal fixups:* async_tx.c:get_chan_ref_by_cap --&gt; dmaengine.c:nth_chan* async_tx.c:async_tx_rebalance --&gt; dmaengine.c:dma_channel_rebalance* split out common code from async_tx.c:__async_tx_find_channel --&gt;  dma_find_channelReviewed-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;Signed-off-by: Dan Williams &lt;dan.j.williams@intel.com&gt;

            List of files:
            /linux-6.15/crypto/async_tx/async_tx.c</description>
        <pubDate>Tue, 06 Jan 2009 18:38:14 +0000</pubDate>
        <dc:creator>Dan Williams &lt;dan.j.williams@intel.com&gt;</dc:creator>
    </item>
<item>
        <title>6f49a57a - dmaengine: up-level reference counting to the module level</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/crypto/async_tx/async_tx.c#6f49a57a</link>
        <description>dmaengine: up-level reference counting to the module levelSimply, if a client wants any dmaengine channel then prevent all dmaenginemodules from being removed.  Once the clients are done re-enable moduleremoval.Why?, beyond reducing complication:1/ Tracking reference counts per-transaction in an efficient manner, as   is currently done, requires a complicated scheme to avoid cache-line   bouncing effects.2/ Per-transaction ref-counting gives the false impression that a   dma-driver can be gracefully removed ahead of its user (net, md, or   dma-slave)3/ None of the in-tree dma-drivers talk to hot pluggable hardware, but   if such an engine were built one day we still would not need to notify   clients of remove events.  The driver can simply return NULL to a   -&gt;prep() request, something that is much easier for a client to handle.Reviewed-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;Acked-by: Maciej Sosnowski &lt;maciej.sosnowski@intel.com&gt;Signed-off-by: Dan Williams &lt;dan.j.williams@intel.com&gt;

            List of files:
            /linux-6.15/crypto/async_tx/async_tx.c</description>
        <pubDate>Tue, 06 Jan 2009 18:38:14 +0000</pubDate>
        <dc:creator>Dan Williams &lt;dan.j.williams@intel.com&gt;</dc:creator>
    </item>
<item>
        <title>07f2211e - dmaengine: remove dependency on async_tx</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/crypto/async_tx/async_tx.c#07f2211e</link>
        <description>dmaengine: remove dependency on async_txasync_tx.ko is a consumer of dma channels.  A circular dependency arisesif modules in drivers/dma rely on common code in async_tx.ko.  Itprevents either module from being unloaded.Move dma_wait_for_async_tx and async_tx_run_dependencies to dmaeninge.owhere they should have been from the beginning.Reviewed-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;Signed-off-by: Dan Williams &lt;dan.j.williams@intel.com&gt;

            List of files:
            /linux-6.15/crypto/async_tx/async_tx.c</description>
        <pubDate>Tue, 06 Jan 2009 00:14:31 +0000</pubDate>
        <dc:creator>Dan Williams &lt;dan.j.williams@intel.com&gt;</dc:creator>
    </item>
<item>
        <title>fdb0ac80 - async_tx: make async_tx_run_dependencies() easier to read</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/crypto/async_tx/async_tx.c#fdb0ac80</link>
        <description>async_tx: make async_tx_run_dependencies() easier to read* Rename &apos;next&apos; to &apos;dep&apos;* Move the channel switch check inside the loop to simplify  terminationAcked-by: Ilya Yanok &lt;yanok@emcraft.com&gt;Signed-off-by: Dan Williams &lt;dan.j.williams@intel.com&gt;

            List of files:
            /linux-6.15/crypto/async_tx/async_tx.c</description>
        <pubDate>Sun, 14 Sep 2008 02:57:04 +0000</pubDate>
        <dc:creator>Dan Williams &lt;dan.j.williams@intel.com&gt;</dc:creator>
    </item>
<item>
        <title>de24125d - async_tx: fix the bug in async_tx_run_dependencies</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/crypto/async_tx/async_tx.c#de24125d</link>
        <description>async_tx: fix the bug in async_tx_run_dependenciesShould clear the next pointer of the TX if we are sure that thenext TX (say NXT) will be submitted to the channel too. Overwise,we break the chain of descriptors, because we lose the informationabout the next descriptor to run. So next time, when invokeasync_tx_run_dependencies() with TX, it&apos;s TX-&gt;next will be NULL, andNXT will be never submitted.Cc: &lt;stable@kernel.org&gt;		[2.6.26]Signed-off-by: Yuri Tikhonov &lt;yur@emcraft.com&gt;Signed-off-by: Ilya Yanok &lt;yanok@emcraft.com&gt;Signed-off-by: Dan Williams &lt;dan.j.williams@intel.com&gt;

            List of files:
            /linux-6.15/crypto/async_tx/async_tx.c</description>
        <pubDate>Fri, 05 Sep 2008 15:15:47 +0000</pubDate>
        <dc:creator>Yuri Tikhonov &lt;yur@emcraft.com&gt;</dc:creator>
    </item>
<item>
        <title>3dce0171 - async_tx: remove depend_tx from async_tx_sync_epilog</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/crypto/async_tx/async_tx.c#3dce0171</link>
        <description>async_tx: remove depend_tx from async_tx_sync_epilogAll callers of async_tx_sync_epilog have called async_tx_quiesce on thedepend_tx, so async_tx_sync_epilog need only call the callback tocomplete the operation.Signed-off-by: Dan Williams &lt;dan.j.williams@intel.com&gt;

            List of files:
            /linux-6.15/crypto/async_tx/async_tx.c</description>
        <pubDate>Fri, 18 Jul 2008 00:59:55 +0000</pubDate>
        <dc:creator>Dan Williams &lt;dan.j.williams@intel.com&gt;</dc:creator>
    </item>
</channel>
</rss>
