<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/dma/at_hdmac.c, branch linux-4.0.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.0.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.0.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2015-03-13T09:28:31Z</updated>
<entry>
<title>dmaengine: at_hdmac: Fix calculation of the residual bytes</title>
<updated>2015-03-13T09:28:31Z</updated>
<author>
<name>Torsten Fleischer</name>
</author>
<published>2015-02-23T16:54:10Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=bdf6c79278b3fb6caf1811ae877078c5f424bcb1'/>
<id>urn:sha1:bdf6c79278b3fb6caf1811ae877078c5f424bcb1</id>
<content type='text'>
This patch fixes the following issues regarding to the calculation of the
residue:

1. The residue is always calculated for the current transfer even if the
cookie is associated to a pending transfer.

2. For scatter/gather DMA the calculation of the residue for the current
transfer doesn't include the bytes of the child descriptors that are already
transferred.
It only calculates the difference between the transfer's total length minus
the number of bytes that are already transferred for the current child
descriptor.
For example: There is a scatter/gather DMA transfer with a total length of
1 MByte. Getting the residue several times while the transfer is running shows
something like that:

1: residue = 975584
2: residue = 1002766
3: residue = 992627
4: residue = 983767
5: residue = 985694
6: residue = 1008094
7: residue = 1009741
8: residue = 1011195

3. The driver stores the residue but never resets it when starting a new
transfer.
For example: If there are two subsequent DMA transfers. The first one with
a total length of 1 MByte and the second one with a total length of 1 kByte.
Getting the residue for both transfers shows something like that:

transfer 1: residue = 975584
transfer 2: residue = 1048380

Changes from V1:
   * Fixed coding style of the multi-line comments.
   * Improved accuracy of the residue calculation when the transfer for the
     first descriptor is active.

Changes from V2:
   * Member 'tx_width' of 'struct at_desc' restored, because the transfer width
     can't be derived from the source width when using "slave_sg".
     The transfer width is needed for the calculation of the residue if either
     the transfer of the first or the last descriptor is in progress.
     In the case of a "memory_to_memory_sg" transfer (part of this patch
     series) the transfer width of both descriptors may differ. Thus it is
     required to additionally set 'tx_width' of the last descriptor.
   * Added functions for multiply used calculations.

Signed-off-by: Torsten Fleischer &lt;torfl6749@gmail.com&gt;
Acked-by: Nicolas Ferre &lt;nicolas.ferre@atmel.com&gt;
Signed-off-by: Vinod Koul &lt;vinod.koul@intel.com&gt;
</content>
</entry>
<entry>
<title>dmaengine: at_hdmac: declare slave capabilities</title>
<updated>2015-01-13T18:34:02Z</updated>
<author>
<name>Ludovic Desroches</name>
</author>
<published>2015-01-06T16:36:26Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=816070ede77003e033c76cd1f72127d9bb6c9a03'/>
<id>urn:sha1:816070ede77003e033c76cd1f72127d9bb6c9a03</id>
<content type='text'>
Declare slave capabilities to suppress "this driver doesn't support generic
slave capabilities reporting" warning.

Signed-off-by: Ludovic Desroches &lt;ludovic.desroches@atmel.com&gt;
Acked-by: Maxime Ripard &lt;maxime.ripard@free-electrons.com&gt;
Acked-by: Nicolas Ferre &lt;nicolas.ferre@atmel.com&gt;
Signed-off-by: Vinod Koul &lt;vinod.koul@intel.com&gt;
</content>
</entry>
<entry>
<title>dmaengine: hdmac: Split device_control</title>
<updated>2014-12-22T06:58:57Z</updated>
<author>
<name>Maxime Ripard</name>
</author>
<published>2014-11-17T13:42:06Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4facfe7f09f2b3f0799c924d9d6a0855a42c0833'/>
<id>urn:sha1:4facfe7f09f2b3f0799c924d9d6a0855a42c0833</id>
<content type='text'>
Split the device_control callback of the Atmel HDMAC driver to make use
of the newly introduced callbacks, that will eventually be used to retrieve
slave capabilities.

Signed-off-by: Maxime Ripard &lt;maxime.ripard@free-electrons.com&gt;
Acked-by: Nicolas Ferre &lt;nicolas.ferre@atmel.com&gt;
Signed-off-by: Vinod Koul &lt;vinod.koul@intel.com&gt;
</content>
</entry>
<entry>
<title>dma: at_hdmac: fix invalid remaining bytes detection</title>
<updated>2014-08-07T16:22:27Z</updated>
<author>
<name>Alexandre Belloni</name>
</author>
<published>2014-08-01T16:51:46Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6758ddafad55fc8e665bb03ff103d3e410483fe9'/>
<id>urn:sha1:6758ddafad55fc8e665bb03ff103d3e410483fe9</id>
<content type='text'>
Found using smatch:
drivers/dma/at_hdmac.c:299 atc_get_bytes_left() warn: unsigned
'atchan-&gt;remain_desc' is never less than zero.

Signed-off-by: Alexandre Belloni &lt;alexandre.belloni@free-electrons.com&gt;
Signed-off-by: Vinod Koul &lt;vinod.koul@intel.com&gt;
</content>
</entry>
<entry>
<title>dmaengine: Remove the context argument to the prep_dma_cyclic operation</title>
<updated>2014-08-04T08:11:50Z</updated>
<author>
<name>Laurent Pinchart</name>
</author>
<published>2014-08-01T10:20:10Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=31c1e5a1350ae8d1bc2018f5de8264266d9773e1'/>
<id>urn:sha1:31c1e5a1350ae8d1bc2018f5de8264266d9773e1</id>
<content type='text'>
The argument is always set to NULL and never used. Remove it.

Signed-off-by: Laurent Pinchart &lt;laurent.pinchart+renesas@ideasonboard.com&gt;
Signed-off-by: Vinod Koul &lt;vinod.koul@intel.com&gt;
</content>
</entry>
<entry>
<title>dmaengine: at_hdmac: use tasklet_kill in teardown</title>
<updated>2014-03-17T13:03:43Z</updated>
<author>
<name>Vinod Koul</name>
</author>
<published>2014-03-06T06:54:08Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ccc7aad04c95c33407444b1387e42162925e5216'/>
<id>urn:sha1:ccc7aad04c95c33407444b1387e42162925e5216</id>
<content type='text'>
As discussed in [1] the tasklet_disable is not a proper function for teardown.
We need to ensure irq is disabled, followed by ensuring that don't schedule any
more tasklets and then its safe to use tasklet_kill().

Here in at_hdmac driver we use free_irq() before tasklet_kill(). The free_irq()
will ensure that the irq is disabled and also wait till all scheduled interrupts
are executed by invoking synchronize_irq(). So we need to only do tasklet_kill()
after invoking free_irq()

[1]: http://lwn.net/Articles/588457/

Reported-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Acked-by: Nicolas Ferre &lt;nicolas.ferre@atmel.com&gt;
Reviewed-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Signed-off-by: Vinod Koul &lt;vinod.koul@intel.com&gt;
</content>
</entry>
<entry>
<title>Merge commit 'dmaengine-3.13-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/dmaengine</title>
<updated>2013-11-16T06:32:36Z</updated>
<author>
<name>Vinod Koul</name>
</author>
<published>2013-11-16T06:24:17Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=df12a3178d340319b1955be6b973a4eb84aff754'/>
<id>urn:sha1:df12a3178d340319b1955be6b973a4eb84aff754</id>
<content type='text'>
Pull dmaengine changes from Dan

1/ Bartlomiej and Dan finalized a rework of the dma address unmap
   implementation.

2/ In the course of testing 1/ a collection of enhancements to dmatest
   fell out.  Notably basic performance statistics, and fixed / enhanced
   test control through new module parameters 'run', 'wait', 'noverify',
   and 'verbose'.  Thanks to Andriy and Linus for their review.

3/ Testing the raid related corner cases of 1/ triggered bugs in the
   recently added 16-source operation support in the ioatdma driver.

4/ Some minor fixes / cleanups to mv_xor and ioatdma.

Conflicts:
	drivers/dma/dmatest.c

Signed-off-by: Vinod Koul &lt;vinod.koul@intel.com&gt;
</content>
</entry>
<entry>
<title>dmaengine: remove DMA unmap from drivers</title>
<updated>2013-11-14T19:04:38Z</updated>
<author>
<name>Bartlomiej Zolnierkiewicz</name>
</author>
<published>2013-10-18T17:35:32Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=54f8d501e842879143e867e70996574a54d1e130'/>
<id>urn:sha1:54f8d501e842879143e867e70996574a54d1e130</id>
<content type='text'>
Remove support for DMA unmapping from drivers as it is no longer
needed (DMA core code is now handling it).

Cc: Vinod Koul &lt;vinod.koul@intel.com&gt;
Cc: Tomasz Figa &lt;t.figa@samsung.com&gt;
Cc: Dave Jiang &lt;dave.jiang@intel.com&gt;
Signed-off-by: Bartlomiej Zolnierkiewicz &lt;b.zolnierkie@samsung.com&gt;
Signed-off-by: Kyungmin Park &lt;kyungmin.park@samsung.com&gt;
[djbw: fix up chan2parent() unused warning in drivers/dma/dw/core.c]
Signed-off-by: Dan Williams &lt;dan.j.williams@intel.com&gt;
</content>
</entry>
<entry>
<title>dmaengine: prepare for generic 'unmap' data</title>
<updated>2013-11-14T00:25:06Z</updated>
<author>
<name>Dan Williams</name>
</author>
<published>2013-10-18T17:35:23Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d38a8c622a1b382336c3e152c6caf4e11d1f1b2a'/>
<id>urn:sha1:d38a8c622a1b382336c3e152c6caf4e11d1f1b2a</id>
<content type='text'>
Add a hook for a common dma unmap implementation to enable removal of
the per driver custom unmap code.  (A reworked version of Bartlomiej
Zolnierkiewicz's patches to remove the custom callbacks and the size
increase of dma_async_tx_descriptor for drivers that don't care about
raid).

Cc: Vinod Koul &lt;vinod.koul@intel.com&gt;
Cc: Tomasz Figa &lt;t.figa@samsung.com&gt;
Cc: Dave Jiang &lt;dave.jiang@intel.com&gt;
[bzolnier: prepare pl330 driver for adding missing unmap while at it]
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;dan.j.williams@intel.com&gt;
</content>
</entry>
<entry>
<title>dmaengine: at_hdma: use DMA_COMPLETE for dma completion status</title>
<updated>2013-10-25T05:45:55Z</updated>
<author>
<name>Vinod Koul</name>
</author>
<published>2013-10-16T08:04:35Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6d203d1e0af17c33954d3800397f32d86ff8d3cf'/>
<id>urn:sha1:6d203d1e0af17c33954d3800397f32d86ff8d3cf</id>
<content type='text'>
Acked-by: Dan Williams &lt;dan.j.williams@intel.com&gt;
Acked-by: Linus Walleij &lt;linus.walleij@linaro.org&gt;
Acked-by: Nicolas Ferre &lt;nicolas.ferre@atmel.com&gt;
Signed-off-by: Vinod Koul &lt;vinod.koul@intel.com&gt;
</content>
</entry>
</feed>
