<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-dev/drivers/dma/dw-axi-dmac, branch master</title>
<subtitle>Linux kernel development work - see feature branches</subtitle>
<id>https://git.zx2c4.com/linux-dev/atom/drivers/dma/dw-axi-dmac?h=master</id>
<link rel='self' href='https://git.zx2c4.com/linux-dev/atom/drivers/dma/dw-axi-dmac?h=master'/>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/'/>
<updated>2022-08-05T01:44:38Z</updated>
<entry>
<title>Merge tag 'dmaengine-6.0-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine</title>
<updated>2022-08-05T01:44:38Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2022-08-05T01:44:38Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=31be1d0fbd950395701d9fd47d8fb1f99c996f61'/>
<id>urn:sha1:31be1d0fbd950395701d9fd47d8fb1f99c996f61</id>
<content type='text'>
Pull dmaengine updates from Vinod Koul:
 "New support / Core:

   - Remove DMA_MEMCPY_SG for lack of users

   - Tegra 234 dmaengine support

   - Mediatek MT8365 dma support

   - Apple ADMAC driver

  Updates:

   - Yaml conversion for ST-Ericsson DMA40 binding and Freescale edma

   - rz-dmac updates and device_synchronize support

   - Bunch of typo in comments fixes in drivers

   - multithread support in sf-pdma driver"

* tag 'dmaengine-6.0-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine: (50 commits)
  dmaengine: mediatek: mtk-hsdma: Fix typo 'the the' in comment
  dmaengine: axi-dmac: check cache coherency register
  dmaengine: sh: rz-dmac: Add device_synchronize callback
  dmaengine: sprd: Cleanup in .remove() after pm_runtime_get_sync() failed
  dmaengine: tegra: Add terminate() for Tegra234
  dt-bindings: dmaengine: Add compatible for Tegra234
  dmaengine: xilinx: use strscpy to replace strlcpy
  dmaengine: imx-sdma: Add FIFO stride support for multi FIFO script
  dmaengine: idxd: Correct IAX operation code names
  dmaengine: imx-dma: Cast of_device_get_match_data() with (uintptr_t)
  dmaengine: dw-axi-dmac: ignore interrupt if no descriptor
  dmaengine: dw-axi-dmac: do not print NULL LLI during error
  dmaengine: altera-msgdma: Fixed some inconsistent function name descriptions
  dmaengine: imx-sdma: Add missing struct documentation
  dmaengine: sf-pdma: Add multithread support for a DMA channel
  dt-bindings: dma: dw-axi-dmac: extend the number of interrupts
  dmaengine: dmatest: use strscpy to replace strlcpy
  dmaengine: ste_dma40: fix typo in comment
  dmaengine: jz4780: fix typo in comment
  dmaengine: s3c24xx: fix typo in comment
  ...
</content>
</entry>
<entry>
<title>dmaengine: dw-axi-dmac: ignore interrupt if no descriptor</title>
<updated>2022-07-21T12:33:09Z</updated>
<author>
<name>Ben Dooks</name>
<email>ben.dooks@sifive.com</email>
</author>
<published>2022-07-08T17:01:53Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=820f5ce999d2f99961e88c16d65cd26764df0590'/>
<id>urn:sha1:820f5ce999d2f99961e88c16d65cd26764df0590</id>
<content type='text'>
If the channel has no descriptor and the interrupt is raised then the
kernel will OOPS. Check the result of vchan_next_desc() in the handler
axi_chan_block_xfer_complete() to avoid the error happening.

Signed-off-by: Ben Dooks &lt;ben.dooks@sifive.com&gt;
Link: https://lore.kernel.org/r/20220708170153.269991-4-ben.dooks@sifive.com
Signed-off-by: Vinod Koul &lt;vkoul@kernel.org&gt;
</content>
</entry>
<entry>
<title>dmaengine: dw-axi-dmac: do not print NULL LLI during error</title>
<updated>2022-07-21T12:33:08Z</updated>
<author>
<name>Ben Dooks</name>
<email>ben.dooks@sifive.com</email>
</author>
<published>2022-07-08T17:01:52Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=86cb0defe0e275453bc39e856bb523eb425a6537'/>
<id>urn:sha1:86cb0defe0e275453bc39e856bb523eb425a6537</id>
<content type='text'>
During debugging we have seen an issue where axi_chan_dump_lli()
is passed a NULL LLI pointer which ends up causing an OOPS due
to trying to get fields from it. Simply print NULL LLI and exit
to avoid this.

Signed-off-by: Ben Dooks &lt;ben.dooks@sifive.com&gt;
Link: https://lore.kernel.org/r/20220708170153.269991-3-ben.dooks@sifive.com
Signed-off-by: Vinod Koul &lt;vkoul@kernel.org&gt;
</content>
</entry>
<entry>
<title>dmaengine: dw-axi-dmac: Fix RMW on channel suspend register</title>
<updated>2022-07-01T11:48:26Z</updated>
<author>
<name>Emil Renner Berthing</name>
<email>kernel@esmil.dk</email>
</author>
<published>2022-06-27T09:09:39Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=49db68d45bdcad06e28a420d5d911e4178389666'/>
<id>urn:sha1:49db68d45bdcad06e28a420d5d911e4178389666</id>
<content type='text'>
When the DMA is configured for more than 8 channels the bits controlling
suspend moves to another register. However when adding support for this
the new register would be completely overwritten in one case and
overwritten with values from the old register in another case.

Found by comparing the parallel implementation of more than 8 channel
support for the StarFive JH7100 SoC by Samin.

Fixes: 824351668a41 ("dmaengine: dw-axi-dmac: support DMAX_NUM_CHANNELS &gt; 8")
Co-developed-by: Samin Guo &lt;samin.guo@starfivetech.com&gt;
Signed-off-by: Samin Guo &lt;samin.guo@starfivetech.com&gt;
Signed-off-by: Emil Renner Berthing &lt;kernel@esmil.dk&gt;
Link: https://lore.kernel.org/r/20220627090939.1775717-1-emil.renner.berthing@canonical.com
Signed-off-by: Vinod Koul &lt;vkoul@kernel.org&gt;
</content>
</entry>
<entry>
<title>dmaengine: dw-axi-dmac: cleanup comments</title>
<updated>2022-03-11T10:35:01Z</updated>
<author>
<name>Tom Rix</name>
<email>trix@redhat.com</email>
</author>
<published>2022-03-09T02:00:56Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=e7c7a0161bdbf0e0977f388352f059974afb643d'/>
<id>urn:sha1:e7c7a0161bdbf0e0977f388352f059974afb643d</id>
<content type='text'>
For spdx, /* */ for *.h, remove extra space

Replacements
configurarion to configuration
inerrupts to interrupts
chanels to channels

Signed-off-by: Tom Rix &lt;trix@redhat.com&gt;
Link: https://lore.kernel.org/r/20220309020056.1026106-1-trix@redhat.com
Signed-off-by: Vinod Koul &lt;vkoul@kernel.org&gt;
</content>
</entry>
<entry>
<title>dmaengine: dw-axi-dmac: Fix uninitialized variable in axi_chan_block_xfer_start()</title>
<updated>2021-11-22T05:52:26Z</updated>
<author>
<name>Tim Gardner</name>
<email>tim.gardner@canonical.com</email>
</author>
<published>2021-10-25T18:16:56Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=885633075847f475f26a29249d772cc0da85d8cd'/>
<id>urn:sha1:885633075847f475f26a29249d772cc0da85d8cd</id>
<content type='text'>
Coverity complains of an uninitialized variable:

5. uninit_use_in_call: Using uninitialized value config.dst_per when calling axi_chan_config_write. [show details]
6. uninit_use_in_call: Using uninitialized value config.hs_sel_src when calling axi_chan_config_write. [show details]
CID 121164 (#1-3 of 3): Uninitialized scalar variable (UNINIT)
7. uninit_use_in_call: Using uninitialized value config.src_per when calling axi_chan_config_write. [show details]
418        axi_chan_config_write(chan, &amp;config);

Fix this by initializing the structure to 0 which should at least be benign in axi_chan_config_write(). Also fix
what looks like a cut-n-paste error when initializing config.hs_sel_dst.

Fixes: 824351668a413 ("dmaengine: dw-axi-dmac: support DMAX_NUM_CHANNELS &gt; 8")
Cc: Eugeniy Paltsev &lt;Eugeniy.Paltsev@synopsys.com&gt;
Cc: Vinod Koul &lt;vkoul@kernel.org&gt;
Cc: dmaengine@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Tim Gardner &lt;tim.gardner@canonical.com&gt;
Link: https://lore.kernel.org/r/20211025181656.31658-1-tim.gardner@canonical.com
Signed-off-by: Vinod Koul &lt;vkoul@kernel.org&gt;
</content>
</entry>
<entry>
<title>dmaengine: dw-axi-dmac: Simplify assignment in dma_chan_pause()</title>
<updated>2021-10-28T17:13:51Z</updated>
<author>
<name>Geert Uytterhoeven</name>
<email>geert@linux-m68k.org</email>
</author>
<published>2021-10-26T15:56:07Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=2f23355e96b4a5896de2032176197fa0c5c444dd'/>
<id>urn:sha1:2f23355e96b4a5896de2032176197fa0c5c444dd</id>
<content type='text'>
Simplify assigning zero and performing a logical OR to a single
assignment.

Signed-off-by: Geert Uytterhoeven &lt;geert@linux-m68k.org&gt;
Link: https://lore.kernel.org/r/2abd0da35608c14689a919d47dd45898a8ab4297.1635263478.git.geert@linux-m68k.org
Signed-off-by: Vinod Koul &lt;vkoul@kernel.org&gt;
</content>
</entry>
<entry>
<title>dmaengine: dw-axi-dmac: set coherent mask</title>
<updated>2021-10-18T06:44:20Z</updated>
<author>
<name>Pandith N</name>
<email>pandith.n@intel.com</email>
</author>
<published>2021-10-01T14:08:12Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=2d0f07f888f52532588730aae0241af5c5df393d'/>
<id>urn:sha1:2d0f07f888f52532588730aae0241af5c5df393d</id>
<content type='text'>
Add support for setting dma coherent mask, dma mask is set to 64 bit

Signed-off-by: Pandith N &lt;pandith.n@intel.com&gt;
Reviewed-by: Andy Shevchenko &lt;andriy.shevchenko@linux.intel.com&gt;

Link: https://lore.kernel.org/r/20211001140812.24977-4-pandith.n@intel.com
Signed-off-by: Vinod Koul &lt;vkoul@kernel.org&gt;
</content>
</entry>
<entry>
<title>dmaengine: dw-axi-dmac: Hardware handshake configuration</title>
<updated>2021-10-18T06:44:19Z</updated>
<author>
<name>Pandith N</name>
<email>pandith.n@intel.com</email>
</author>
<published>2021-10-01T14:08:11Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=93a7d32e9f4b8bad722a8c8c83c579a2f6a5aec3'/>
<id>urn:sha1:93a7d32e9f4b8bad722a8c8c83c579a2f6a5aec3</id>
<content type='text'>
Added hardware handshake selection in channel config,
for mem2per and per2mem case.
The peripheral specific handshake interface needs to be
programmed in src_per, dst_per bits of CHx_CFG register.

Signed-off-by: Pandith N &lt;pandith.n@intel.com&gt;
Reviewed-by: Andy Shevchenko &lt;andriy.shevchenko@linux.intel.com&gt;
Link: https://lore.kernel.org/r/20211001140812.24977-3-pandith.n@intel.com
Signed-off-by: Vinod Koul &lt;vkoul@kernel.org&gt;
</content>
</entry>
<entry>
<title>dmaengine: dw-axi-dmac: support DMAX_NUM_CHANNELS &gt; 8</title>
<updated>2021-10-18T06:44:19Z</updated>
<author>
<name>Pandith N</name>
<email>pandith.n@intel.com</email>
</author>
<published>2021-10-01T14:08:10Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=824351668a413af7d6d88e4ee2c9bee7c60daad2'/>
<id>urn:sha1:824351668a413af7d6d88e4ee2c9bee7c60daad2</id>
<content type='text'>
Added support for DMA controller with more than 8 channels.
DMAC register map changes based on number of channels.

Enabling DMAC channel:
DMAC_CHENREG has to be used when number of channels &lt;= 8
DMAC_CHENREG2 has to be used when number of channels &gt; 8

Configuring DMA channel:
CHx_CFG has to be used when number of channels &lt;= 8
CHx_CFG2 has to be used when number of channels &gt; 8

Suspending and resuming channel:
DMAC_CHENREG has to be used when number of channels &lt;= 8 DMAC_CHSUSPREG
has to be used for suspending a channel &gt; 8

Signed-off-by: Pandith N &lt;pandith.n@intel.com&gt;
Reviewed-by: Andy Shevchenko &lt;andriy.shevchenko@linux.intel.com&gt;

Link: https://lore.kernel.org/r/20211001140812.24977-2-pandith.n@intel.com
Signed-off-by: Vinod Koul &lt;vkoul@kernel.org&gt;
</content>
</entry>
</feed>
