<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/dma/at_hdmac.c, branch linux-3.2.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.2.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.2.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2012-10-10T02:30:53Z</updated>
<entry>
<title>dmaengine: at_hdmac: check that each sg data length is non-null</title>
<updated>2012-10-10T02:30:53Z</updated>
<author>
<name>Nicolas Ferre</name>
</author>
<published>2012-09-11T15:21:45Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=28646c86762c0dc3b23404005cf162abd7e2d3e3'/>
<id>urn:sha1:28646c86762c0dc3b23404005cf162abd7e2d3e3</id>
<content type='text'>
commit c456797681db814f4f5b36909e8e94047bf53d9c upstream.

Avoid the construction of a malformed DMA request sent to
the DMA controller.
Log message is for debug only because this condition is unlikely to
append and may only trigger at driver development time.

Signed-off-by: Nicolas Ferre &lt;nicolas.ferre@atmel.com&gt;
Signed-off-by: Vinod Koul &lt;vinod.koul@linux.intel.com&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
</entry>
<entry>
<title>dmaengine: at_hdmac: fix comment in atc_prep_slave_sg()</title>
<updated>2012-10-10T02:30:52Z</updated>
<author>
<name>Nicolas Ferre</name>
</author>
<published>2012-09-11T15:21:44Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=684408fa0bc34620a4d62fc6cd545c1c9ae712a9'/>
<id>urn:sha1:684408fa0bc34620a4d62fc6cd545c1c9ae712a9</id>
<content type='text'>
commit c618a9be0e8c0f36baee2560860a0118a428fb26 upstream.

s/dma_memcpy/slave_sg/ and it is sg length that we are
talking about.

Signed-off-by: Nicolas Ferre &lt;nicolas.ferre@atmel.com&gt;
Signed-off-by: Vinod Koul &lt;vinod.koul@linux.intel.com&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
</entry>
<entry>
<title>dmaengine: at_hdmac: remove clear-on-read in atc_dostart()</title>
<updated>2012-05-11T12:14:34Z</updated>
<author>
<name>Nicolas Ferre</name>
</author>
<published>2012-04-16T12:46:30Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=39fd81649ec76c39861105e9713adedba6e5432b'/>
<id>urn:sha1:39fd81649ec76c39861105e9713adedba6e5432b</id>
<content type='text'>
commit ed8b0d67f33518a16c6b2450fe5ebebf180c2d04 upstream.

This loop on EBCISR register was designed to clear IRQ sources before enabling
a DMA channel. This register is clear-on-read so a race condition can appear if
another channel is already active and has just finished its transfer.
Removing this read on EBCISR is fixing the issue as there is no case where an IRQ
could be pending: we already make sure that this register is drained at probe()
time and during resume.

Signed-off-by: Nicolas Ferre &lt;nicolas.ferre@atmel.com&gt;
Signed-off-by: Vinod Koul &lt;vinod.koul@linux.intel.com&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
</entry>
<entry>
<title>at_hdmac: bugfix for enabling channel irq</title>
<updated>2012-02-13T19:16:54Z</updated>
<author>
<name>Nikolaus Voss</name>
</author>
<published>2012-01-17T09:28:33Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2139363dee1243badcac4da0af194ed764339c05'/>
<id>urn:sha1:2139363dee1243badcac4da0af194ed764339c05</id>
<content type='text'>
commit bda3a47c886664e86ee14eb79e9072b9e341f575 upstream.

commit 463894705e4089d0ff69e7d877312d496ac70e5b deleted redundant
chan_id and chancnt initialization in dma drivers as this is done
in dma_async_device_register().

However, atc_enable_irq() relied on chan_id set before registering
the device, what left only channel 0 functional for this driver.

This patch introduces atc_enable/disable_chan_irq() as a variant
of atc_enable/disable_irq() with the channel as explicit argument.

Signed-off-by: Nikolaus Voss &lt;n.voss@weinmann.de&gt;
Signed-off-by: Nicolas Ferre &lt;nicolas.ferre@atmel.com&gt;
Signed-off-by: Vinod Koul &lt;vinod.koul@linux.intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>dmaengine: delete redundant chan_id and chancnt initialization in dma drivers</title>
<updated>2011-09-20T06:21:33Z</updated>
<author>
<name>Barry Song</name>
</author>
<published>2011-09-15T10:06:30Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=463894705e4089d0ff69e7d877312d496ac70e5b'/>
<id>urn:sha1:463894705e4089d0ff69e7d877312d496ac70e5b</id>
<content type='text'>
dma_async_device_register will re-init chan_id and chancnt,
so whatever chan_id and chancnt are set in drivers, they will
be re-written by dma_async_device_register.

Cc: Nicolas Ferre &lt;nicolas.ferre@atmel.com&gt;
Cc: Viresh Kumar &lt;viresh.kumar@st.com&gt;
Cc: Vinod Koul &lt;vinod.koul@intel.com&gt;
Cc: Piotr Ziecik &lt;kosmo@semihalf.com&gt;
Cc: Yong Wang &lt;yong.y.wang@intel.com&gt;
Cc: Jaswinder Singh &lt;jassi.brar@samsung.com&gt;
Cc: Pelagicore AB &lt;info@pelagicore.com&gt;
Signed-off-by: Barry Song &lt;Baohua.Song@csr.com&gt;
Acked-by: Viresh Kumar &lt;viresh.kumar@st.com&gt;
Signed-off-by: Vinod Koul &lt;vinod.koul@intel.com&gt;
</content>
</entry>
<entry>
<title>dmaengine: at_hdmac: fix way to specify cyclic capability</title>
<updated>2011-08-19T13:10:04Z</updated>
<author>
<name>Nicolas Ferre</name>
</author>
<published>2011-08-05T11:43:44Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d7db80801f8117cf210b9e2cd2c800e326d59fa2'/>
<id>urn:sha1:d7db80801f8117cf210b9e2cd2c800e326d59fa2</id>
<content type='text'>
In this driver, we can trigger cyclic transfer on peripherals-DMA interfaces.
It is dependent on driver implementation but cannot depend on a platform
property: we remove the dma_has_cap(DMA_CYCLIC, ) test which has no meaning.

Signed-off-by: Nicolas Ferre &lt;nicolas.ferre@atmel.com&gt;
Signed-off-by: Vinod Koul &lt;vinod.koul@intel.com&gt;
</content>
</entry>
<entry>
<title>dmaengine: at_hdmac: add wrappers for testing channel state</title>
<updated>2011-08-19T13:09:59Z</updated>
<author>
<name>Nicolas Ferre</name>
</author>
<published>2011-07-25T21:09:23Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3c477482bb9f976e5451c50be7d3d60ea6f88646'/>
<id>urn:sha1:3c477482bb9f976e5451c50be7d3d60ea6f88646</id>
<content type='text'>
Cyclic property and paused state are encoded as bits in the channel status
bitfield. Tests of those bits are wrapped in convenient helper functions.

Signed-off-by: Nicolas Ferre &lt;nicolas.ferre@atmel.com&gt;
Signed-off-by: Vinod Koul &lt;vinod.koul@intel.com&gt;
</content>
</entry>
<entry>
<title>dmaengine: at_hdmac: improve power management routines</title>
<updated>2011-08-19T13:09:54Z</updated>
<author>
<name>Nicolas Ferre</name>
</author>
<published>2011-07-27T12:21:29Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c0ba5947370a0900b1823922fc4faf41515bc901'/>
<id>urn:sha1:c0ba5947370a0900b1823922fc4faf41515bc901</id>
<content type='text'>
Save/restore dma controller state across a suspend-resume sequence.
The prepare() function will wait for the non-cyclic channels to become idle.
It also deals with cyclic operations with the start at next period while
resuming.

Signed-off-by: Nicolas Ferre &lt;nicolas.ferre@atmel.com&gt;
Signed-off-by: Uwe Kleine-König &lt;u.kleine-koenig@pengutronix.de&gt;
Signed-off-by: Vinod Koul &lt;vinod.koul@intel.com&gt;
</content>
</entry>
<entry>
<title>dmaengine: at_hdmac: replace spin_lock* with irqsave variants</title>
<updated>2011-08-19T13:09:48Z</updated>
<author>
<name>Nicolas Ferre</name>
</author>
<published>2011-07-27T12:21:28Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d8cb04b070c2a55f7201714d231cff4f8f9fbd16'/>
<id>urn:sha1:d8cb04b070c2a55f7201714d231cff4f8f9fbd16</id>
<content type='text'>
dmaengine routines can be called from interrupt context and with
interrupts disabled. Whereas spin_unlock_bh can't be called from
such contexts. So this patch converts all spin_lock* routines
to irqsave variants.

Also, spin_lock() used in tasklet is converted to irqsave variants,
as tasklet can be interrupted, and dma requests from such interruptions
may also call spin_lock.

Idea from dw_dmac patch by Viresh Kumar.

Signed-off-by: Nicolas Ferre &lt;nicolas.ferre@atmel.com&gt;
Signed-off-by: Uwe Kleine-König &lt;u.kleine-koenig@pengutronix.de&gt;
Signed-off-by: Vinod Koul &lt;vinod.koul@intel.com&gt;
</content>
</entry>
<entry>
<title>dma: at_hdmac.c: use resource_size</title>
<updated>2011-06-06T08:13:59Z</updated>
<author>
<name>H Hartley Sweeten</name>
</author>
<published>2011-06-01T22:16:09Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=114df7d66efd5c23561782f38e97c48fb30d4f5d'/>
<id>urn:sha1:114df7d66efd5c23561782f38e97c48fb30d4f5d</id>
<content type='text'>
Signed-off-by: H Hartley Sweeten &lt;hsweeten@visionengravers.com&gt;
Cc: Dan Williams &lt;dan.j.williams@intel.com&gt;
Cc: Vinod Koul &lt;vinod.koul@intel.com&gt;
Signed-off-by: Vinod Koul &lt;vinod.koul@intel.com&gt;
</content>
</entry>
</feed>
