<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/drivers/dma/imx-sdma.c, branch v3.0.74</title>
<subtitle>Linux kernel for Apalis and Colibri modules</subtitle>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/'/>
<entry>
<title>Merge branch 'imx' into dmaengine-fixes</title>
<updated>2011-02-14T10:40:46+00:00</updated>
<author>
<name>Dan Williams</name>
<email>dan.j.williams@intel.com</email>
</author>
<published>2011-02-14T10:40:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=e19d1d4988f8020c25bf1758f9a898e1374cef35'/>
<id>e19d1d4988f8020c25bf1758f9a898e1374cef35</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'dmaengine-shawn' into dmaengine</title>
<updated>2011-01-31T11:42:51+00:00</updated>
<author>
<name>Sascha Hauer</name>
<email>s.hauer@pengutronix.de</email>
</author>
<published>2011-01-31T11:42:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=60f1df5dc6ecd07befc332ae30109fb86505634c'/>
<id>60f1df5dc6ecd07befc332ae30109fb86505634c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>dmaengine: imx-sdma: fix up param for the last BD in sdma_prep_slave_sg()</title>
<updated>2011-01-31T11:42:23+00:00</updated>
<author>
<name>Shawn Guo</name>
<email>shawn.guo@freescale.com</email>
</author>
<published>2011-01-19T21:50:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=341b9419a8c0a4cdb75773c576870f1eb655516d'/>
<id>341b9419a8c0a4cdb75773c576870f1eb655516d</id>
<content type='text'>
As per the reference manual, bit "L" should be set while bit "C"
should be cleared for the last buffer descriptor in the non-cyclic
chain, so that sdma can stop trying to find the next BD and end
the transfer.

In case of sdma_prep_slave_sg(), BD_LAST needs to be set and BD_CONT
be cleared for the last BD.

Signed-off-by: Shawn Guo &lt;shawn.guo@freescale.com&gt;
Signed-off-by: Sascha Hauer &lt;s.hauer@pengutronix.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
As per the reference manual, bit "L" should be set while bit "C"
should be cleared for the last buffer descriptor in the non-cyclic
chain, so that sdma can stop trying to find the next BD and end
the transfer.

In case of sdma_prep_slave_sg(), BD_LAST needs to be set and BD_CONT
be cleared for the last BD.

Signed-off-by: Shawn Guo &lt;shawn.guo@freescale.com&gt;
Signed-off-by: Sascha Hauer &lt;s.hauer@pengutronix.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>dmaengine: imx-sdma: correct sdmac-&gt;status in sdma_handle_channel_loop()</title>
<updated>2011-01-31T11:42:12+00:00</updated>
<author>
<name>Shawn Guo</name>
<email>shawn.guo@freescale.com</email>
</author>
<published>2011-01-19T21:50:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=1e9cebb42de57f1243261939c77ab5b0f9bcf311'/>
<id>1e9cebb42de57f1243261939c77ab5b0f9bcf311</id>
<content type='text'>
sdma_handle_channel_loop() is the handler of cyclic tx.  One period
success does not really mean the success of the tx.  Instead of
DMA_SUCCESS, DMA_IN_PROGRESS should be the one to tell.

Signed-off-by: Shawn Guo &lt;shawn.guo@freescale.com&gt;
Signed-off-by: Sascha Hauer &lt;s.hauer@pengutronix.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
sdma_handle_channel_loop() is the handler of cyclic tx.  One period
success does not really mean the success of the tx.  Instead of
DMA_SUCCESS, DMA_IN_PROGRESS should be the one to tell.

Signed-off-by: Shawn Guo &lt;shawn.guo@freescale.com&gt;
Signed-off-by: Sascha Hauer &lt;s.hauer@pengutronix.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>dmaengine: imx-sdma: return sdmac-&gt;status in sdma_tx_status()</title>
<updated>2011-01-31T11:41:59+00:00</updated>
<author>
<name>Shawn Guo</name>
<email>shawn.guo@freescale.com</email>
</author>
<published>2011-01-19T21:50:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=8a9659114c7be6f88253618252881ea6fe0588b4'/>
<id>8a9659114c7be6f88253618252881ea6fe0588b4</id>
<content type='text'>
The sdmac-&gt;status was designed to reflect the status of the tx,
so simply return it in sdma_tx_status().  Then dma client can call
dma_async_is_tx_complete() to know the status of the tx.

Signed-off-by: Shawn Guo &lt;shawn.guo@freescale.com&gt;
Signed-off-by: Sascha Hauer &lt;s.hauer@pengutronix.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The sdmac-&gt;status was designed to reflect the status of the tx,
so simply return it in sdma_tx_status().  Then dma client can call
dma_async_is_tx_complete() to know the status of the tx.

Signed-off-by: Shawn Guo &lt;shawn.guo@freescale.com&gt;
Signed-off-by: Sascha Hauer &lt;s.hauer@pengutronix.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>dmaengine: imx-sdma: set sdmac-&gt;status to DMA_ERROR in err_out of sdma_prep_slave_sg()</title>
<updated>2011-01-31T11:41:50+00:00</updated>
<author>
<name>Shawn Guo</name>
<email>shawn.guo@freescale.com</email>
</author>
<published>2011-01-19T21:50:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=4b2ce9ddb370c4eb573540611c347d78ac4b54a0'/>
<id>4b2ce9ddb370c4eb573540611c347d78ac4b54a0</id>
<content type='text'>
sdma_prep_dma_cyclic() sets sdmac-&gt;status to DMA_ERROR in err_out,
and sdma_prep_slave_sg() needs to do the same.  Otherwise,
sdmac-&gt;status stays at DMA_IN_PROGRESS, which will make the function
return immediately next time it gets called.

Signed-off-by: Shawn Guo &lt;shawn.guo@freescale.com&gt;
Signed-off-by: Sascha Hauer &lt;s.hauer@pengutronix.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
sdma_prep_dma_cyclic() sets sdmac-&gt;status to DMA_ERROR in err_out,
and sdma_prep_slave_sg() needs to do the same.  Otherwise,
sdmac-&gt;status stays at DMA_IN_PROGRESS, which will make the function
return immediately next time it gets called.

Signed-off-by: Shawn Guo &lt;shawn.guo@freescale.com&gt;
Signed-off-by: Sascha Hauer &lt;s.hauer@pengutronix.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>dmaengine: imx-sdma: remove IMX_DMA_SG_LOOP handling in sdma_prep_slave_sg()</title>
<updated>2011-01-31T11:41:43+00:00</updated>
<author>
<name>Shawn Guo</name>
<email>shawn.guo@freescale.com</email>
</author>
<published>2011-01-19T21:50:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=1797c33f0edcdcc9a483c06233a203786666a97f'/>
<id>1797c33f0edcdcc9a483c06233a203786666a97f</id>
<content type='text'>
This is a leftover from the time that the driver did not have
sdma_prep_dma_cyclic callback and implemented sound dma as a looped
sg chain.  And it can be removed now.

Signed-off-by: Shawn Guo &lt;shawn.guo@freescale.com&gt;
Signed-off-by: Sascha Hauer &lt;s.hauer@pengutronix.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is a leftover from the time that the driver did not have
sdma_prep_dma_cyclic callback and implemented sound dma as a looped
sg chain.  And it can be removed now.

Signed-off-by: Shawn Guo &lt;shawn.guo@freescale.com&gt;
Signed-off-by: Sascha Hauer &lt;s.hauer@pengutronix.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>dmaengine i.MX SDMA: reserve channel 0 by not registering it</title>
<updated>2011-01-31T11:34:31+00:00</updated>
<author>
<name>Sascha Hauer</name>
<email>s.hauer@pengutronix.de</email>
</author>
<published>2011-01-31T09:56:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=23889c6352ab4a842a30221bb412ff49954b2fb3'/>
<id>23889c6352ab4a842a30221bb412ff49954b2fb3</id>
<content type='text'>
We need channel 0 of the sdma engine for internal purposes. We
accomplished this by calling dma_request_channel() in the probe
function. This does not work when multiple dma engines are
present which is the case when IPU support for i.MX31/35 is
compiled in. So instead of registering channel 0 and reserving
it afterwards simply do not register it in the first place.
With this the dmaengine channel counting does not match sdma
channel counting anymore, so we have to use sdma channel counting
in the driver.

Signed-off-by: Sascha Hauer &lt;s.hauer@pengutronix.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We need channel 0 of the sdma engine for internal purposes. We
accomplished this by calling dma_request_channel() in the probe
function. This does not work when multiple dma engines are
present which is the case when IPU support for i.MX31/35 is
compiled in. So instead of registering channel 0 and reserving
it afterwards simply do not register it in the first place.
With this the dmaengine channel counting does not match sdma
channel counting anymore, so we have to use sdma channel counting
in the driver.

Signed-off-by: Sascha Hauer &lt;s.hauer@pengutronix.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>dmaengine i.MX SDMA: initialize dma capabilities outside channel loop</title>
<updated>2011-01-31T11:34:24+00:00</updated>
<author>
<name>Sascha Hauer</name>
<email>s.hauer@pengutronix.de</email>
</author>
<published>2011-01-31T09:21:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=7214a8b14f63a1603401124bc150e17b145aa476'/>
<id>7214a8b14f63a1603401124bc150e17b145aa476</id>
<content type='text'>
The capabilities are device specific fields, not channel specific fields.

Signed-off-by: Sascha Hauer &lt;s.hauer@pengutronix.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The capabilities are device specific fields, not channel specific fields.

Signed-off-by: Sascha Hauer &lt;s.hauer@pengutronix.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>dmaengine i.MX SDMA: do not initialize chan_id field</title>
<updated>2011-01-31T11:33:18+00:00</updated>
<author>
<name>Sascha Hauer</name>
<email>s.hauer@pengutronix.de</email>
</author>
<published>2011-01-31T09:19:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=7a0e9b2557902bdca563a5eb1bbac87560bd7d20'/>
<id>7a0e9b2557902bdca563a5eb1bbac87560bd7d20</id>
<content type='text'>
This is bogus as the dmaengine core will overwrite this field.

Signed-off-by: Sascha Hauer &lt;s.hauer@pengutronix.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is bogus as the dmaengine core will overwrite this field.

Signed-off-by: Sascha Hauer &lt;s.hauer@pengutronix.de&gt;
</pre>
</div>
</content>
</entry>
</feed>
