<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-dev/drivers/dma/sf-pdma/Kconfig, branch master</title>
<subtitle>Linux kernel development work - see feature branches</subtitle>
<id>https://git.zx2c4.com/linux-dev/atom/drivers/dma/sf-pdma/Kconfig?h=master</id>
<link rel='self' href='https://git.zx2c4.com/linux-dev/atom/drivers/dma/sf-pdma/Kconfig?h=master'/>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/'/>
<updated>2021-05-31T04:14:14Z</updated>
<entry>
<title>dmaengine: SF_PDMA depends on HAS_IOMEM</title>
<updated>2021-05-31T04:14:14Z</updated>
<author>
<name>Randy Dunlap</name>
<email>rdunlap@infradead.org</email>
</author>
<published>2021-05-22T02:13:12Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=8e2e4f3c58528c6040b5762b666734f8cceba568'/>
<id>urn:sha1:8e2e4f3c58528c6040b5762b666734f8cceba568</id>
<content type='text'>
When CONFIG_HAS_IOMEM is not set/enabled, certain iomap() family
functions [including ioremap(), devm_ioremap(), etc.] are not
available.
Drivers that use these functions should depend on HAS_IOMEM so that
they do not cause build errors.

Mends this build error:
s390-linux-ld: drivers/dma/sf-pdma/sf-pdma.o: in function `sf_pdma_probe':
sf-pdma.c:(.text+0x1668): undefined reference to `devm_ioremap_resource'

Fixes: 6973886ad58e ("dmaengine: sf-pdma: add platform DMA support for HiFive Unleashed A00")
Signed-off-by: Randy Dunlap &lt;rdunlap@infradead.org&gt;
Reported-by: kernel test robot &lt;lkp@intel.com&gt;
Cc: Green Wan &lt;green.wan@sifive.com&gt;
Cc: Vinod Koul &lt;vkoul@kernel.org&gt;
Cc: dmaengine@vger.kernel.org
Link: https://lore.kernel.org/r/20210522021313.16405-4-rdunlap@infradead.org
Signed-off-by: Vinod Koul &lt;vkoul@kernel.org&gt;
</content>
</entry>
<entry>
<title>dmaengine: sf-pdma: add platform DMA support for HiFive Unleashed A00</title>
<updated>2019-11-14T07:10:46Z</updated>
<author>
<name>Green Wan</name>
<email>green.wan@sifive.com</email>
</author>
<published>2019-11-07T08:49:21Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=6973886ad58e6b4988813331abb76ae0b364a9c2'/>
<id>urn:sha1:6973886ad58e6b4988813331abb76ae0b364a9c2</id>
<content type='text'>
Add PDMA driver, sf-pdma, to enable DMA engine on HiFive Unleashed
Rev A00 board.

 - Implement dmaengine APIs, support MEM_TO_MEM async copy.
 - Tested by DMA Test client
 - Supports 4 channels DMA, each channel has 1 done and 1 err
   interrupt connected to platform-level interrupt controller (PLIC).
 - Depends on DMA_ENGINE and DMA_VIRTUAL_CHANNELS

The datasheet is here:

  https://static.dev.sifive.com/FU540-C000-v1.0.pdf

Follow the DMAengine controller doc,
"./Documentation/driver-api/dmaengine/provider.rst" to implement DMA
engine. And use the dma test client in doc,
"./Documentation/driver-api/dmaengine/dmatest.rst", to test.

Each DMA channel has separate HW regs and support done and error ISRs.
4 channels share 1 done and 1 err ISRs. There's no expander/arbitrator
in DMA HW.

   ------               ------
   |    |--&lt; done 23 &gt;--|ch 0|
   |    |--&lt; err  24 &gt;--|    |     (dma0chan0)
   |    |               ------
   |    |               ------
   |    |--&lt; done 25 &gt;--|ch 1|
   |    |--&lt; err  26 &gt;--|    |     (dma0chan1)
   |PLIC|               ------
   |    |               ------
   |    |--&lt; done 27 &gt;--|ch 2|
   |    |--&lt; err  28 &gt;--|    |     (dma0chan2)
   |    |               ------
   |    |               ------
   |    |--&lt; done 29 &gt;--|ch 3|
   |    |--&lt; err  30 &gt;--|    |     (dma0chan3)
   ------               ------

Signed-off-by: Green Wan &lt;green.wan@sifive.com&gt;
Link: https://lore.kernel.org/r/20191107084955.7580-4-green.wan@sifive.com
Signed-off-by: Vinod Koul &lt;vkoul@kernel.org&gt;
</content>
</entry>
</feed>
