<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/git/stable/linux.git/drivers/dma/pl330.c, branch linux-3.2.y</title>
<subtitle>Linux kernel stable tree</subtitle>
<id>https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/atom?h=linux-3.2.y</id>
<link rel='self' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/atom?h=linux-3.2.y'/>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/'/>
<updated>2013-07-27T04:34:27+00:00</updated>
<entry>
<title>drivers/dma/pl330.c: fix locking in pl330_free_chan_resources()</title>
<updated>2013-07-27T04:34:27+00:00</updated>
<author>
<name>Bartlomiej Zolnierkiewicz</name>
<email>b.zolnierkie@samsung.com</email>
</author>
<published>2013-07-03T22:00:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=3dfd75404d6e8f9c0818bf5e96f507992e67082c'/>
<id>urn:sha1:3dfd75404d6e8f9c0818bf5e96f507992e67082c</id>
<content type='text'>
commit da331ba8e9c5de72a27e50f71105395bba6eebe0 upstream.

tasklet_kill() may sleep so call it before taking pch-&gt;lock.

Fixes following lockup:

  BUG: scheduling while atomic: cat/2383/0x00000002
  Modules linked in:
    unwind_backtrace+0x0/0xfc
    __schedule_bug+0x4c/0x58
    __schedule+0x690/0x6e0
    sys_sched_yield+0x70/0x78
    tasklet_kill+0x34/0x8c
    pl330_free_chan_resources+0x24/0x88
    dma_chan_put+0x4c/0x50
  [...]
  BUG: spinlock lockup suspected on CPU#0, swapper/0/0
   lock: 0xe52aa04c, .magic: dead4ead, .owner: cat/2383, .owner_cpu: 1
    unwind_backtrace+0x0/0xfc
    do_raw_spin_lock+0x194/0x204
    _raw_spin_lock_irqsave+0x20/0x28
    pl330_tasklet+0x2c/0x5a8
    tasklet_action+0xfc/0x114
    __do_softirq+0xe4/0x19c
    irq_exit+0x98/0x9c
    handle_IPI+0x124/0x16c
    gic_handle_irq+0x64/0x68
    __irq_svc+0x40/0x70
    cpuidle_wrap_enter+0x4c/0xa0
    cpuidle_enter_state+0x18/0x68
    cpuidle_idle_call+0xac/0xe0
    cpu_idle+0xac/0xf0

Signed-off-by: Bartlomiej Zolnierkiewicz &lt;b.zolnierkie@samsung.com&gt;
Signed-off-by: Kyungmin Park &lt;kyungmin.park@samsung.com&gt;
Acked-by: Jassi Brar &lt;jassisinghbrar@gmail.com&gt;
Cc: Vinod Koul &lt;vinod.koul@linux.intel.com&gt;
Cc: Tomasz Figa &lt;t.figa@samsung.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
</entry>
<entry>
<title>DMA: PL330: Check the pointer returned by kzalloc</title>
<updated>2012-10-10T02:30:56+00:00</updated>
<author>
<name>Sachin Kamat</name>
<email>sachin.kamat@linaro.org</email>
</author>
<published>2012-09-17T09:50:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=cd2ff82610f26dc1817effaed4627907fbe28079'/>
<id>urn:sha1:cd2ff82610f26dc1817effaed4627907fbe28079</id>
<content type='text'>
commit 61c6e7531d3b66b33187b8cdd700fd8ab93ffd62 upstream.

kzalloc could return NULL. Hence add a check to avoid
NULL pointer dereference.

Signed-off-by: Sachin Kamat &lt;sachin.kamat@linaro.org&gt;
Acked-by: Jassi Brar &lt;jassisinghbrar@gmail.com&gt;
Signed-off-by: Vinod Koul &lt;vinod.koul@linux.intel.com&gt;
[bwh: Backported to 3.2: adjust context and error label]
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
</entry>
<entry>
<title>Merge branch 'samsung_dma' into next</title>
<updated>2011-09-21T06:23:30+00:00</updated>
<author>
<name>Vinod Koul</name>
<email>vinod.koul@linux.intel.com</email>
</author>
<published>2011-09-21T06:23:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=0745c9a5e3b64ee03784bc58ba5b127418d78b4e'/>
<id>urn:sha1:0745c9a5e3b64ee03784bc58ba5b127418d78b4e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>dmaengine: delete redundant chan_id and chancnt initialization in dma drivers</title>
<updated>2011-09-20T06:21:33+00:00</updated>
<author>
<name>Barry Song</name>
<email>Baohua.Song@csr.com</email>
</author>
<published>2011-09-15T10:06:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.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>DMA: PL330: Add DMA_CYCLIC capability</title>
<updated>2011-09-14T05:40:01+00:00</updated>
<author>
<name>Boojin Kim</name>
<email>boojin.kim@samsung.com</email>
</author>
<published>2011-09-02T00:44:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=42bc9cf45939c26a5c5eb946d4fd35f1a7b0f9f8'/>
<id>urn:sha1:42bc9cf45939c26a5c5eb946d4fd35f1a7b0f9f8</id>
<content type='text'>
This patch adds DMA_CYCLIC capability that is used for audio driver.
DMA driver activated with it reuses the dma requests that were submitted
through tx_submit().

Signed-off-by: Boojin Kim &lt;boojin.kim@samsung.com&gt;
Acked-by: Linus Walleij &lt;linus.walleij@linaro.org&gt;
Acked-by: Vinod Koul &lt;vinod.koul@intel.com&gt;
Cc: Dan Williams &lt;dan.j.williams@intel.com&gt;
Signed-off-by: Kukjin Kim &lt;kgene.kim@samsung.com&gt;
Signed-off-by: Vinod Koul &lt;vinod.koul@intel.com&gt;
</content>
</entry>
<entry>
<title>DMA: PL330: Remove the start operation for handling DMA_TERMINATE_ALL command</title>
<updated>2011-09-14T05:40:01+00:00</updated>
<author>
<name>Boojin Kim</name>
<email>boojin.kim@samsung.com</email>
</author>
<published>2011-09-02T00:44:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=ae43b886f174297366d4e09a008ad8e6592d95df'/>
<id>urn:sha1:ae43b886f174297366d4e09a008ad8e6592d95df</id>
<content type='text'>
Original code carries out the start operation after flush operation.
But start operation is not required for DMA_TERMINATE_ALL command.
So, this patch removes the unnecessary start operation and only carries out
the flush operation for handling DMA_TERMINATE_ALL command.

Signed-off-by: Boojin Kim &lt;boojin.kim@samsung.com&gt;
Acked-by: Linus Walleij &lt;linus.walleij@linaro.org&gt;
Acked-by: Vinod Koul &lt;vinod.koul@intel.com&gt;
Cc: Dan Williams &lt;dan.j.williams@intel.com&gt;
Signed-off-by: Kukjin Kim &lt;kgene.kim@samsung.com&gt;
[Fixed typos in changelog]
Signed-off-by: Vinod Koul &lt;vinod.koul@intel.com&gt;
</content>
</entry>
<entry>
<title>DMA: PL330: Support DMA_SLAVE_CONFIG command</title>
<updated>2011-09-14T05:40:01+00:00</updated>
<author>
<name>Boojin Kim</name>
<email>boojin.kim@samsung.com</email>
</author>
<published>2011-09-02T00:44:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=1d0c1d606d787e833ee3bd9e1cda640e75c4681a'/>
<id>urn:sha1:1d0c1d606d787e833ee3bd9e1cda640e75c4681a</id>
<content type='text'>
Signed-off-by: Boojin Kim &lt;boojin.kim@samsung.com&gt;
Acked-by: Linus Walleij &lt;linus.walleij@linaro.org&gt;
Acked-by: Vinod Koul &lt;vinod.koul@intel.com&gt;
Cc: Dan Williams &lt;dan.j.williams@intel.com&gt;
Signed-off-by: Kukjin Kim &lt;kgene.kim@samsung.com&gt;
Signed-off-by: Vinod Koul &lt;vinod.koul@intel.com&gt;
</content>
</entry>
<entry>
<title>DMA: PL330: Update PL330 DMA API driver</title>
<updated>2011-09-14T05:40:01+00:00</updated>
<author>
<name>Boojin Kim</name>
<email>boojin.kim@samsung.com</email>
</author>
<published>2011-09-02T00:44:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=1b9bb715e7c4c189c4215a11a09e2ccb16598d86'/>
<id>urn:sha1:1b9bb715e7c4c189c4215a11a09e2ccb16598d86</id>
<content type='text'>
This patch updates following 3 items.
1. Removes unneccessary code.
2. Add AMBA, PL330 configuration
3. Change the meaning of 'peri_id' variable
   from PL330 event number to specific dma id by user.

Signed-off-by: Boojin Kim &lt;boojin.kim@samsung.com&gt;
Acked-by: Linus Walleij &lt;linus.walleij@linaro.org&gt;
Acked-by: Vinod Koul &lt;vinod.koul@intel.com&gt;
Cc: Dan Williams &lt;dan.j.williams@intel.com&gt;
Signed-off-by: Kukjin Kim &lt;kgene.kim@samsung.com&gt;
Signed-off-by: Vinod Koul &lt;vinod.koul@intel.com&gt;
</content>
</entry>
<entry>
<title>DMA: PL330: Add support runtime PM for PL330 DMAC</title>
<updated>2011-09-14T05:40:00+00:00</updated>
<author>
<name>Boojin Kim</name>
<email>boojin.kim@samsung.com</email>
</author>
<published>2011-09-02T00:44:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=a2f5203fec3c06d68a6bb45ad41f2adebf9ac5e0'/>
<id>urn:sha1:a2f5203fec3c06d68a6bb45ad41f2adebf9ac5e0</id>
<content type='text'>
Signed-off-by: Boojin Kim &lt;boojin.kim@samsung.com&gt;
Acked-by: Jassi Brar &lt;jassisinghbrar@gmail.com&gt;
Acked-by: Linus Walleij &lt;linus.walleij@linaro.org&gt;
Acked-by: Vinod Koul &lt;vinod.koul@intel.com&gt;
Cc: Dan Williams &lt;dan.j.williams@intel.com&gt;
Signed-off-by: Kukjin Kim &lt;kgene.kim@samsung.com&gt;
Signed-off-by: Vinod Koul &lt;vinod.koul@intel.com&gt;
</content>
</entry>
<entry>
<title>dmaengine: pl330: make platform data optional</title>
<updated>2011-07-26T10:02:52+00:00</updated>
<author>
<name>Rob Herring</name>
<email>rob.herring@calxeda.com</email>
</author>
<published>2011-07-25T21:05:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=4e0e6109a1cc18cc5e4143f828c36b6a3e8be6ad'/>
<id>urn:sha1:4e0e6109a1cc18cc5e4143f828c36b6a3e8be6ad</id>
<content type='text'>
The pl330 needs platform data for describing peripheral connections, but
some platforms may only support memory to memory dma channels. In this
case, we can probe for how many channels there are and don't need the
platform data.

As memcpy requests don't need channel private data to hold peripheral
info, allow private data to be NULL in this case.

Signed-off-by: Rob Herring &lt;rob.herring@calxeda.com&gt;
Cc: Jassi Brar &lt;jassisinghbrar@gmail.com&gt;
Cc: Vinod Koul &lt;vkoul@infradead.org&gt;
Cc: Dan Williams &lt;dan.j.williams@intel.com&gt;
Acked-by: Jassi Brar &lt;jassisinghbrar@gmail.com&gt;
Signed-off-by: Vinod Koul &lt;vinod.koul@intel.com&gt;
</content>
</entry>
</feed>
