<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/dma/edma.c, branch linux-4.9.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.9.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.9.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2020-01-29T09:24:35Z</updated>
<entry>
<title>dmaengine: ti: edma: fix missed failure handling</title>
<updated>2020-01-29T09:24:35Z</updated>
<author>
<name>Chuhong Yuan</name>
</author>
<published>2019-11-18T07:38:02Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a52766faeab5957844e119af23ef8c8599521ef3'/>
<id>urn:sha1:a52766faeab5957844e119af23ef8c8599521ef3</id>
<content type='text'>
[ Upstream commit 340049d453682a9fe8d91fe794dd091730f4bb25 ]

When devm_kcalloc fails, it forgets to call edma_free_slot.
Replace direct return with failure handler to fix it.

Fixes: 1be5336bc7ba ("dmaengine: edma: New device tree binding")
Signed-off-by: Chuhong Yuan &lt;hslester96@gmail.com&gt;
Link: https://lore.kernel.org/r/20191118073802.28424-1-hslester96@gmail.com
Signed-off-by: Vinod Koul &lt;vkoul@kernel.org&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>dmaengine: ti: edma: Do not reset reserved paRAM slots</title>
<updated>2019-10-05T10:30:26Z</updated>
<author>
<name>Peter Ujfalusi</name>
</author>
<published>2019-08-23T12:56:14Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1d2a860e355307bf4d555df8e2306faa1fdbcb72'/>
<id>urn:sha1:1d2a860e355307bf4d555df8e2306faa1fdbcb72</id>
<content type='text'>
[ Upstream commit c5dbe60664b3660f5ac5854e21273ea2e7ff698f ]

Skip resetting paRAM slots marked as reserved as they might be used by
other cores.

Signed-off-by: Peter Ujfalusi &lt;peter.ujfalusi@ti.com&gt;
Link: https://lore.kernel.org/r/20190823125618.8133-2-peter.ujfalusi@ti.com
Signed-off-by: Vinod Koul &lt;vkoul@kernel.org&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>dmaengine: edma: Align the memcpy acnt array size with the transfer</title>
<updated>2017-10-18T07:35:38Z</updated>
<author>
<name>Peter Ujfalusi</name>
</author>
<published>2017-09-18T08:16:26Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=618c786d2bbacbb802c6e9c9b629f9adc21e00bf'/>
<id>urn:sha1:618c786d2bbacbb802c6e9c9b629f9adc21e00bf</id>
<content type='text'>
commit 87a2f622cc6446c7d09ac655b7b9b04886f16a4c upstream.

Memory to Memory transfers does not have any special alignment needs
regarding to acnt array size, but if one of the areas are in memory mapped
regions (like PCIe memory), we need to make sure that the acnt array size
is aligned with the mem copy parameters.

Before "dmaengine: edma: Optimize memcpy operation" change the memcpy was set
up in a different way: acnt == number of bytes in a word based on
__ffs((src | dest | len), bcnt and ccnt for looping the necessary number of
words to comlete the trasnfer.

Instead of reverting the commit we can fix it to make sure that the ACNT size
is aligned to the traswnfer.

Fixes: df6694f80365a (dmaengine: edma: Optimize memcpy operation)
Signed-off-by: Peter Ujfalusi &lt;peter.ujfalusi@ti.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: edma: Fix error return code in edma_alloc_chan_resources()</title>
<updated>2016-10-18T14:48:14Z</updated>
<author>
<name>Wei Yongjun</name>
</author>
<published>2016-10-17T15:16:35Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f95df7d6cd92787d54c9ad3d4843f9bcd137f9db'/>
<id>urn:sha1:f95df7d6cd92787d54c9ad3d4843f9bcd137f9db</id>
<content type='text'>
Fix to return a negative error code from the error handling
case instead of 0, as done elsewhere in this function.

Signed-off-by: Wei Yongjun &lt;weiyongjun1@huawei.com&gt;
Signed-off-by: Vinod Koul &lt;vinod.koul@intel.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'topic/compile_test' into for-linus</title>
<updated>2016-10-03T03:46:03Z</updated>
<author>
<name>Vinod Koul</name>
</author>
<published>2016-10-03T03:46:03Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6619f035a64dd44c7238b7341c138a3975d59111'/>
<id>urn:sha1:6619f035a64dd44c7238b7341c138a3975d59111</id>
<content type='text'>
</content>
</entry>
<entry>
<title>dmaengine: edma: avoid uninitialized variable use</title>
<updated>2016-09-30T17:46:35Z</updated>
<author>
<name>Arnd Bergmann</name>
</author>
<published>2016-09-30T16:19:01Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2cc40ee7ae30fa12c3ee3f18e6c0e81cced2cdcc'/>
<id>urn:sha1:2cc40ee7ae30fa12c3ee3f18e6c0e81cced2cdcc</id>
<content type='text'>
If edma_read_slot() gets an invalid argument, it does not set a result,
as found by "gcc -Wmaybe-uninitialized"

drivers/dma/edma.c: In function 'dma_ccerr_handler':
drivers/dma/edma.c:1499:21: error: 'p.a_b_cnt' may be used uninitialized in this function [-Werror=maybe-uninitialized]
drivers/dma/edma.c:1499:21: error: 'p.ccnt' may be used uninitialized in this function [-Werror=maybe-uninitialized]
  if (p.a_b_cnt == 0 &amp;&amp; p.ccnt == 0) {

If we change the function to return an error in this case, we can handle
the failure more gracefully and treat this the same way as a null slot
that we already catch.

Signed-off-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
Signed-off-by: Vinod Koul &lt;vinod.koul@intel.com&gt;
</content>
</entry>
<entry>
<title>dmaengine: edma: Rename set_bits and remove unused clear_bits helper</title>
<updated>2016-09-28T03:23:14Z</updated>
<author>
<name>Peter Ujfalusi</name>
</author>
<published>2016-09-22T06:31:04Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1634d3083579a0f228fbe337f20fec0e196d36b2'/>
<id>urn:sha1:1634d3083579a0f228fbe337f20fec0e196d36b2</id>
<content type='text'>
The clear_bits() helper is not used by the driver so it can be removed.

powerpc architecture defines the set_bits() in
arch/powerpc/include/asm/bitops.h which results failed compile testing on
powerpc architecture:

&gt;&gt; drivers/dma/edma.c:415:20: error: conflicting types for 'set_bits'
    static inline void set_bits(int offset, int len, unsigned long *p)
                       ^~~~~~~~
   In file included from include/linux/bitops.h:36:0,
                    from include/linux/kernel.h:10,
                    from include/linux/list.h:8,
                    from include/linux/kobject.h:20,
                    from include/linux/device.h:17,
                    from include/linux/dmaengine.h:20,
                    from drivers/dma/edma.c:16:
   arch/powerpc/include/asm/bitops.h:75:14: note: previous definition of 'set_bits' was here
    DEFINE_BITOP(set_bits, or, "")
                 ^
   arch/powerpc/include/asm/bitops.h:58:24: note: in definition of macro 'DEFINE_BITOP'
    static __inline__ void fn(unsigned long mask, \
                           ^~

&gt;&gt; drivers/dma/edma.c:421:20: error: conflicting types for 'clear_bits'
    static inline void clear_bits(int offset, int len, unsigned long *p)
                       ^~~~~~~~~~
   In file included from include/linux/bitops.h:36:0,
                    from include/linux/kernel.h:10,
                    from include/linux/list.h:8,
                    from include/linux/kobject.h:20,
                    from include/linux/device.h:17,
                    from include/linux/dmaengine.h:20,
                    from drivers/dma/edma.c:16:
   arch/powerpc/include/asm/bitops.h:76:14: note: previous definition of 'clear_bits' was here
    DEFINE_BITOP(clear_bits, andc, "")
                 ^
   arch/powerpc/include/asm/bitops.h:58:24: note: in definition of macro 'DEFINE_BITOP'
    static __inline__ void fn(unsigned long mask, \
                           ^~

Signed-off-by: Peter Ujfalusi &lt;peter.ujfalusi@ti.com&gt;
Signed-off-by: Vinod Koul &lt;vinod.koul@intel.com&gt;
</content>
</entry>
<entry>
<title>dmaengine: edma: Use correct type for of_find_property() third parameter</title>
<updated>2016-09-28T03:23:13Z</updated>
<author>
<name>Peter Ujfalusi</name>
</author>
<published>2016-09-21T12:41:29Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f1d1e34fa5929552662d2c25363bbb82dd3a8fec'/>
<id>urn:sha1:f1d1e34fa5929552662d2c25363bbb82dd3a8fec</id>
<content type='text'>
The correct type is int and not for the third parameter of
of_find_property().
Fixes compilation for 64bit architectures (x86_64, aarch64).

Signed-off-by: Peter Ujfalusi &lt;peter.ujfalusi@ti.com&gt;
Signed-off-by: Vinod Koul &lt;vinod.koul@intel.com&gt;
</content>
</entry>
<entry>
<title>dmaengine: edma: Fix of_device_id data parameter usage (legacy vs TPCC)</title>
<updated>2016-09-28T03:23:06Z</updated>
<author>
<name>Peter Ujfalusi</name>
</author>
<published>2016-09-21T12:41:28Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b7862742feadf22cc1496bb6b460236a900512db'/>
<id>urn:sha1:b7862742feadf22cc1496bb6b460236a900512db</id>
<content type='text'>
Use pointers to static constant variables for eDMA binding
type (legacy vs TPCC).

Fixes the following warning when compiling the driver for 64bit
architectures (x86_64 for example):
drivers/dma/edma.c:2185:16: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
   if (match &amp;&amp; (u32)match-&gt;data == EDMA_BINDING_TPCC)
                ^

Signed-off-by: Peter Ujfalusi &lt;peter.ujfalusi@ti.com&gt;
Signed-off-by: Vinod Koul &lt;vinod.koul@intel.com&gt;
</content>
</entry>
<entry>
<title>dmaengine: edma: Add missing MODULE_DEVICE_TABLE() for of_device_id structs</title>
<updated>2016-09-28T03:19:10Z</updated>
<author>
<name>Peter Ujfalusi</name>
</author>
<published>2016-09-21T12:41:27Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=86737510781bca1c5d27099c7a6ed4f33b631643'/>
<id>urn:sha1:86737510781bca1c5d27099c7a6ed4f33b631643</id>
<content type='text'>
The MODULE_DEVICE_TABLE() were missing from the driver for the of_device_id
structures.

Signed-off-by: Peter Ujfalusi &lt;peter.ujfalusi@ti.com&gt;
Signed-off-by: Vinod Koul &lt;vinod.koul@intel.com&gt;
</content>
</entry>
</feed>
