<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/dma/at_xdmac.c, branch linux-4.6.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.6.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.6.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2016-08-10T10:54:42Z</updated>
<entry>
<title>dmaengine: at_xdmac: double FIFO flush needed to compute residue</title>
<updated>2016-08-10T10:54:42Z</updated>
<author>
<name>Ludovic Desroches</name>
</author>
<published>2016-05-12T14:54:10Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f883b9242712876e273bed6893932d70c00c0021'/>
<id>urn:sha1:f883b9242712876e273bed6893932d70c00c0021</id>
<content type='text'>
commit 9295c41d77ca93aac79cfca6fa09fa1ca5cab66f upstream.

Due to the way CUBC register is updated, a double flush is needed to
compute an accurate residue. First flush aim is to get data from the DMA
FIFO and second one ensures that we won't report data which are not in
memory.

Signed-off-by: Ludovic Desroches &lt;ludovic.desroches@atmel.com&gt;
Fixes: e1f7c9eee707 ("dmaengine: at_xdmac: creation of the atmel
eXtended DMA Controller driver")
Reviewed-by: Nicolas Ferre &lt;nicolas.ferre@atmel.com&gt;
Signed-off-by: Vinod Koul &lt;vinod.koul@intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>dmaengine: at_xdmac: fix residue corruption</title>
<updated>2016-08-10T10:54:42Z</updated>
<author>
<name>Ludovic Desroches</name>
</author>
<published>2016-05-12T14:54:09Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d1a41160ee77efcee8d150138f442b5faae2e61f'/>
<id>urn:sha1:d1a41160ee77efcee8d150138f442b5faae2e61f</id>
<content type='text'>
commit 53398f488821c2b5b15291e3debec6ad33f75d3d upstream.

An unexpected value of CUBC can lead to a corrupted residue. A more
complex sequence is needed to detect an inaccurate value for NCA or CUBC.

Signed-off-by: Ludovic Desroches &lt;ludovic.desroches@atmel.com&gt;
Fixes: e1f7c9eee707 ("dmaengine: at_xdmac: creation of the atmel
eXtended DMA Controller driver")
Reviewed-by: Nicolas Ferre &lt;nicolas.ferre@atmel.com&gt;
Signed-off-by: Vinod Koul &lt;vinod.koul@intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>dmaengine: at_xdmac: align descriptors on 64 bits</title>
<updated>2016-08-10T10:54:42Z</updated>
<author>
<name>Ludovic Desroches</name>
</author>
<published>2016-05-12T14:54:08Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=de46295628512d25cb8190dace8c220880aca8c3'/>
<id>urn:sha1:de46295628512d25cb8190dace8c220880aca8c3</id>
<content type='text'>
commit 4a9723e8df68cfce4048517ee32e37f78854b6fb upstream.

Having descriptors aligned on 64 bits allows update CNDA and CUBC in an
atomic way.

Signed-off-by: Ludovic Desroches &lt;ludovic.desroches@atmel.com&gt;
Fixes: e1f7c9eee707 ("dmaengine: at_xdmac: creation of the atmel
eXtended DMA Controller driver")
Reviewed-by: Nicolas Ferre &lt;nicolas.ferre@atmel.com&gt;
Signed-off-by: Vinod Koul &lt;vinod.koul@intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>dmaengine: at_xdmac: fix residue computation</title>
<updated>2016-03-10T11:02:36Z</updated>
<author>
<name>Ludovic Desroches</name>
</author>
<published>2016-03-10T09:17:55Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=25c5e9626ca4d40928dc9c44f009ce2ed0a739e7'/>
<id>urn:sha1:25c5e9626ca4d40928dc9c44f009ce2ed0a739e7</id>
<content type='text'>
When computing the residue we need two pieces of information: the current
descriptor and the remaining data of the current descriptor. To get
that information, we need to read consecutively two registers but we
can't do it in an atomic way. For that reason, we have to check manually
that current descriptor has not changed.

Signed-off-by: Ludovic Desroches &lt;ludovic.desroches@atmel.com&gt;
Suggested-by: Cyrille Pitchen &lt;cyrille.pitchen@atmel.com&gt;
Reported-by: David Engraf &lt;david.engraf@sysgo.com&gt;
Tested-by: David Engraf &lt;david.engraf@sysgo.com&gt;
Fixes: e1f7c9eee707 ("dmaengine: at_xdmac: creation of the atmel
eXtended DMA Controller driver")
Cc: stable@vger.kernel.org #4.1 and later
Signed-off-by: Vinod Koul &lt;vinod.koul@intel.com&gt;
</content>
</entry>
<entry>
<title>Merge tag 'dmaengine-fix-4.5-rc1' of git://git.infradead.org/users/vkoul/slave-dma</title>
<updated>2016-01-20T18:15:21Z</updated>
<author>
<name>Linus Torvalds</name>
</author>
<published>2016-01-20T18:15:21Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9fa686068a32ddf256df03982b3e3967c18654a8'/>
<id>urn:sha1:9fa686068a32ddf256df03982b3e3967c18654a8</id>
<content type='text'>
Pull dmaengine fixes from Vinod Koul:
 "Here is my second pull request for this window:

  A few driver fixes have piled up and one missed rcar bindings patch
  which got somehow lost in for-linus branch so cherry-picked that one.

  Fixes are for dw, at_hdmac, edma"

* tag 'dmaengine-fix-4.5-rc1' of git://git.infradead.org/users/vkoul/slave-dma:
  dmaengine: rcar-dmac: Document SoC specific bindings
  dmaengine: at_xdmac: fix resume for cyclic transfers
  dmaengine: dw: fix cyclic transfer callbacks
  dmaengine: dw: fix cyclic transfer setup
  dmaengine: edma: Fix paRAM slot allocation for entry channel 0
</content>
</entry>
<entry>
<title>dmaengine: at_xdmac: fix resume for cyclic transfers</title>
<updated>2016-01-18T13:37:46Z</updated>
<author>
<name>Songjun Wu</name>
</author>
<published>2016-01-18T10:14:44Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=611dcadb01c89d1d3521450c05a4ded332e5a32d'/>
<id>urn:sha1:611dcadb01c89d1d3521450c05a4ded332e5a32d</id>
<content type='text'>
When having cyclic transfers, the channel was paused when performing
suspend but was not correctly resumed.

Signed-off-by: Songjun Wu &lt;songjun.wu@atmel.com&gt;
Signed-off-by: Ludovic Desroches &lt;ludovic.desroches@atmel.com&gt;
Fixes: e1f7c9eee707 ("dmaengine: at_xdmac: creation of the atmel
eXtended DMA Controller driver")
Cc: &lt;stable@vger.kernel.org&gt; # 4.1 and later
Signed-off-by: Vinod Koul &lt;vinod.koul@intel.com&gt;
</content>
</entry>
<entry>
<title>Merge tag 'dmaengine-4.5-rc1' of git://git.infradead.org/users/vkoul/slave-dma</title>
<updated>2016-01-13T18:59:52Z</updated>
<author>
<name>Linus Torvalds</name>
</author>
<published>2016-01-13T18:59:52Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d6a322774cb7096ca683fc46ddc9482e02ee6133'/>
<id>urn:sha1:d6a322774cb7096ca683fc46ddc9482e02ee6133</id>
<content type='text'>
Pull dmaengine updates from Vinod Koul:
 "This round we have few new features, new driver and updates to few
  drivers.

  The new features to dmaengine core are:
   - Synchronized transfer termination API to terminate the dmaengine
     transfers in synchronized and async fashion as required by users.
     We have its user now in ALSA dmaengine lib, img, at_xdma, axi_dmac
     drivers.
   - Universal API for channel request and start consolidation of
     request flows.  It's user is ompa-dma driver.
   - Introduce reuse of descriptors and use in pxa_dma driver

  Add/Remove:
   - New STM32 DMA driver
   - Removal of unused R-Car HPB-DMAC driver

  Updates:
   - ti-dma-crossbar updates for supporting eDMA
   - tegra-apb pm updates
   - idma64
   - mv_xor updates
   - ste_dma updates"

* tag 'dmaengine-4.5-rc1' of git://git.infradead.org/users/vkoul/slave-dma: (54 commits)
  dmaengine: mv_xor: add suspend/resume support
  dmaengine: mv_xor: de-duplicate mv_chan_set_mode*()
  dmaengine: mv_xor: remove mv_xor_chan-&gt;current_type field
  dmaengine: omap-dma: Add support for DMA filter mapping to slave devices
  dmaengine: edma: Add support for DMA filter mapping to slave devices
  dmaengine: core: Introduce new, universal API to request a channel
  dmaengine: core: Move and merge the code paths using private_candidate
  dmaengine: core: Skip mask matching when it is not provided to private_candidate
  dmaengine: mdc: Correct terminate_all handling
  dmaengine: edma: Add probe callback to edma_tptc_driver
  dmaengine: dw: fix potential memory leak in dw_dma_parse_dt()
  dmaengine: stm32-dma: Fix unchecked deference of chan-&gt;desc
  dmaengine: sh: Remove unused R-Car HPB-DMAC driver
  dmaengine: usb-dmac: Document SoC specific compatibility strings
  ste_dma40: Delete an unnecessary variable initialisation in d40_probe()
  ste_dma40: Delete another unnecessary check in d40_probe()
  ste_dma40: Delete an unnecessary check before the function call "kmem_cache_destroy"
  dmaengine: tegra-apb: Free interrupts before killing tasklets
  dmaengine: tegra-apb: Update driver to use GFP_NOWAIT
  dmaengine: tegra-apb: Only save channel state for those in use
  ...
</content>
</entry>
<entry>
<title>dmaengine: at_xdmac: fix at_xdmac_prep_dma_memcpy()</title>
<updated>2015-12-10T04:18:01Z</updated>
<author>
<name>Cyrille Pitchen</name>
</author>
<published>2015-12-07T14:58:56Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=aa876cd4b41b4e3bcfbc75dd5750d75d5fa97a67'/>
<id>urn:sha1:aa876cd4b41b4e3bcfbc75dd5750d75d5fa97a67</id>
<content type='text'>
This patch fixes at_xdmac_prep_dma_memcpy(). Indeed the data width field
of the Channel Configuration register was not updated properly in the
loop: the bits of the dwidth field were not cleared before adding their
new value.

Signed-off-by: Cyrille Pitchen &lt;cyrille.pitchen@atmel.com&gt;
Acked-by: Ludovic Desroches &lt;ludovic.desroches@atmel.com&gt;
Fixes: e1f7c9eee70 ("dmaengine: at_xdmac: creation of the atmel eXtended DMA Controller driver")
Cc: stable@vger.kernel.org #4.1 and later
Signed-off-by: Vinod Koul &lt;vinod.koul@intel.com&gt;
</content>
</entry>
<entry>
<title>dmaengine: at_xdmac: Remove unnecessary synchronize_irq() before free_irq()</title>
<updated>2015-12-05T10:26:27Z</updated>
<author>
<name>Lars-Peter Clausen</name>
</author>
<published>2015-11-21T11:09:47Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1f281792f649fc40054fc9146d8aa6b8b3c2aaff'/>
<id>urn:sha1:1f281792f649fc40054fc9146d8aa6b8b3c2aaff</id>
<content type='text'>
Calling synchronize_irq() right before free_irq() is quite useless. On one
hand the IRQ can easily fire again before free_irq() is entered, on the
other hand free_irq() itself calls synchronize_irq() internally (in a race
condition free way), before any state associated with the IRQ is freed.

Patch was generated using the following semantic patch:
// &lt;smpl&gt;
@@
expression irq;
@@
-synchronize_irq(irq);
 free_irq(irq, ...);
// &lt;/smpl&gt;

Signed-off-by: Lars-Peter Clausen &lt;lars@metafoo.de&gt;
Acked-by: Ludovic Desroches &lt;ludovic.desroches@atmel.com&gt;
Signed-off-by: Vinod Koul &lt;vinod.koul@intel.com&gt;
</content>
</entry>
<entry>
<title>dmaengine: at_xdmac: fix bad behavior in interleaved mode</title>
<updated>2015-12-05T08:46:23Z</updated>
<author>
<name>Sylvain ETIENNE</name>
</author>
<published>2015-12-02T16:10:16Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ef10b0b24143238c4457e0e60ec230b0fcc342a4'/>
<id>urn:sha1:ef10b0b24143238c4457e0e60ec230b0fcc342a4</id>
<content type='text'>
When performing interleaved transfers with numf &gt; 1, an extra line is
copied. The mbr.bc field is incremented once too often. The length of
the block is (BLEN+1) microblocks.

Signed-off-by: Sylvain ETIENNE &lt;Sylvain.ETIENNE@ingenico.com&gt;
Signed-off-by: Ludovic Desroches &lt;ludovic.desroches@atmel.com&gt;
Fixes: 4e5385784e69 ("dmaengine: at_xdmac: handle numf &gt; 1")
Signed-off-by: Vinod Koul &lt;vinod.koul@intel.com&gt;
</content>
</entry>
</feed>
