<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/dma, branch v3.8.11</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/drivers/dma?h=v3.8.11</id>
<link rel='self' href='https://git.amat.us/linux/atom/drivers/dma?h=v3.8.11'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2013-04-17T04:48:28Z</updated>
<entry>
<title>dmaengine: omap-dma: Start DMA without delay for cyclic channels</title>
<updated>2013-04-17T04:48:28Z</updated>
<author>
<name>Peter Ujfalusi</name>
<email>peter.ujfalusi@ti.com</email>
</author>
<published>2013-04-09T14:33:06Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=2182bc06086014173a9474e1ba4eb5c556b509f0'/>
<id>urn:sha1:2182bc06086014173a9474e1ba4eb5c556b509f0</id>
<content type='text'>
commit 765024697807ad1e1cac332aa891253ca4a339da upstream.

cyclic DMA is only used by audio which needs DMA to be started without a
delay.
If the DMA for audio is started using the tasklet we experience random
channel switch (to be more precise: channel shift).

Reported-by: Peter Meerwald &lt;pmeerw@pmeerw.net&gt;
Signed-off-by: Peter Ujfalusi &lt;peter.ujfalusi@ti.com&gt;
Acked-by: Santosh Shilimkar &lt;santosh.shilimkar@ti.com&gt;
Acked-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&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>dma: sh: Don't use ENODEV for failing slave lookup</title>
<updated>2013-02-28T13:38:42Z</updated>
<author>
<name>Guennadi Liakhovetski</name>
<email>g.liakhovetski@gmx.de</email>
</author>
<published>2012-11-28T06:49:47Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=255ad6f9222cc28a7c76157fdeda8aa46029c34d'/>
<id>urn:sha1:255ad6f9222cc28a7c76157fdeda8aa46029c34d</id>
<content type='text'>
commit 7c1119bdd650fa58dad8157bc75c5fcf6ed97843 upstream.

If dmaengine driver's .device_alloc_chan_resources() method returns -ENODEV,
dma_request_channel() will decide, that the driver has been removed and will
remove the device from its list. To prevent this use ENXIO if a slave lookup
fails.

Reported-by: Kuninori Morimoto &lt;kuninori.morimoto.gx@renesas.com&gt;
Signed-off-by: Guennadi Liakhovetski &lt;g.liakhovetski@gmx.de&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>Merge branch 'fixes' of git://git.infradead.org/users/vkoul/slave-dma</title>
<updated>2013-01-24T18:17:49Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2013-01-24T18:17:49Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=3f58e0945eb064777f7b77e65ae44cb4f1efc92e'/>
<id>urn:sha1:3f58e0945eb064777f7b77e65ae44cb4f1efc92e</id>
<content type='text'>
Pull slave-dmaengine fixes from Vinod Koul:
 "A few fixes on slave dmanengine.  There are trivial fixes in imx-dma,
  tegra-dma &amp; ioat driver"

* 'fixes' of git://git.infradead.org/users/vkoul/slave-dma:
  dma: tegra: implement flags parameters for cyclic transfer
  dmaengine: imx-dma: Disable use of hw_chain to fix sg_dma transfers.
  ioat: Fix DMA memory sync direction correct flag
</content>
</entry>
<entry>
<title>dma: tegra: implement flags parameters for cyclic transfer</title>
<updated>2013-01-09T14:13:32Z</updated>
<author>
<name>Laxman Dewangan</name>
<email>ldewangan@nvidia.com</email>
</author>
<published>2013-01-09T09:56:22Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=b9bb37f5486ba05d2b557dbf1aeb754fef618985'/>
<id>urn:sha1:b9bb37f5486ba05d2b557dbf1aeb754fef618985</id>
<content type='text'>
The flag parameter is added in the cyclic transfer request.
Use the flag option of:
- DMA_PREP_INTERRUPT for enabling interrupt.
- DMA_CTRL_ACK for deciding whether ack is requred or not for
  descriptor.

Signed-off-by: Laxman Dewangan &lt;ldewangan@nvidia.com&gt;
CC: &lt;stable@vger.kernel.org&gt;
Signed-off-by: Vinod Koul &lt;vinod.koul@intel.com&gt;
</content>
</entry>
<entry>
<title>Merge tag 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc</title>
<updated>2013-01-09T02:53:56Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2013-01-09T02:53:56Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=974b33586b4bbbdab33c666417f9ba9ef50b62c3'/>
<id>urn:sha1:974b33586b4bbbdab33c666417f9ba9ef50b62c3</id>
<content type='text'>
Pull ARM SoC fixes from Olof Johansson:
 "People are back from the holiday breaks, and it shows.  Here are a
  bunch of fixes for a number of platforms:
   - A couple of small fixes for Nomadik
   - A larger set of changes for kirkwood/mvebu
     - uart driver selection, dt clocks, gpio-poweroff fixups, a few
       __init annotation fixes and some error handling improvement in
       their xor dma driver.
   - i.MX had a couple of minor fixes (and a critical one for flexcan2
     clock setup)
   - MXS has a small board fix and a framebuffer bugfix
   - A set of fixes for Samsung Exynos, fixing default bootargs and some
     Exynos5440 clock issues
   - A set of OMAP changes including PM fixes and a few sparse warning
     fixups

  All in all a bit more positive code delta than we'd ideally want to
  see here, mostly from the OMAP PM changes, but nothing overly crazy."

* tag 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (44 commits)
  ARM: clps711x: Fix bad merge of clockevents setup
  ARM: highbank: save and restore L2 cache and GIC on suspend
  ARM: highbank: add a power request clear
  ARM: highbank: fix secondary boot and hotplug
  ARM: highbank: fix typos with hignbank in power request functions
  ARM: dts: fix highbank cpu mpidr values
  ARM: dts: add device_type prop to cpu nodes on Calxeda platforms
  ARM: mx5: Fix MX53 flexcan2 clock
  ARM: OMAP2+: am33xx-hwmod: Fix wrongly terminated am33xx_usbss_mpu_irqs array
  pinctrl: mvebu: make pdma clock on dove mandatory
  ARM: Dove: Add pinctrl clock to DT
  dma: mv_xor: fix error handling for clocks
  dma: mv_xor: fix error handling of mv_xor_channel_add()
  arm: mvebu: Add missing ; for cpu node.
  arm: mvebu: Armada XP MV78230 has only three Ethernet interfaces
  arm: mvebu: Armada XP MV78230 has two cores, not one
  clk: mvebu: Remove inappropriate __init tagging
  ARM: Kirkwood: Use fixed-regulator instead of board gpio call
  ARM: Kirkwood: Fix missing sdio clock
  ARM: Kirkwood: Switch TWSI1 of 88f6282 to DT clock providers
  ...
</content>
</entry>
<entry>
<title>dmaengine: imx-dma: Disable use of hw_chain to fix sg_dma transfers.</title>
<updated>2013-01-08T15:44:56Z</updated>
<author>
<name>Javier Martin</name>
<email>javier.martin@vista-silicon.com</email>
</author>
<published>2012-10-30T15:58:50Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=bef2a8d3f6cb91bc8743bdd63d3eb6a37bf27b12'/>
<id>urn:sha1:bef2a8d3f6cb91bc8743bdd63d3eb6a37bf27b12</id>
<content type='text'>
HW chaining is currently broken in imx-dma. It can be easily reproduced doing
intensive accesses to a external MMC card and checking how the file system
is corrupted.

Preventing the driver to use HW chaining solves these issues.

Signed-off-by: Javier Martin &lt;javier.martin@vista-silicon.com&gt;
Signed-off-by: Vinod Koul &lt;vinod.koul@intel.com&gt;
</content>
</entry>
<entry>
<title>dma: mv_xor: fix error handling for clocks</title>
<updated>2013-01-06T17:53:28Z</updated>
<author>
<name>Thomas Petazzoni</name>
<email>thomas.petazzoni@free-electrons.com</email>
</author>
<published>2013-01-06T10:10:44Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=dab9206445952e64213582b2ab9077972850d65b'/>
<id>urn:sha1:dab9206445952e64213582b2ab9077972850d65b</id>
<content type='text'>
When a channel fails to initialize, we release all ressources,
including clocks. However, a XOR unit is not necessarily associated to
a clock (some variants of Marvell SoCs have a clock for XOR units,
some don't), so we shouldn't unconditionally be releasing the clock.

Instead, just like we do in the mv_xor_remove() function, we should
check if one clock was found before releasing it.

Signed-off-by: Thomas Petazzoni &lt;thomas.petazzoni@free-electrons.com&gt;
Signed-off-by: Jason Cooper &lt;jason@lakedaemon.net&gt;
</content>
</entry>
<entry>
<title>dma: mv_xor: fix error handling of mv_xor_channel_add()</title>
<updated>2013-01-06T17:53:25Z</updated>
<author>
<name>Thomas Petazzoni</name>
<email>thomas.petazzoni@free-electrons.com</email>
</author>
<published>2013-01-06T10:10:43Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=ab6e439fd07aba7cadcadb3fb5e11d3758e19679'/>
<id>urn:sha1:ab6e439fd07aba7cadcadb3fb5e11d3758e19679</id>
<content type='text'>
When mv_xor_channel_add() fails for one XOR channel, we jump to the
err_channel_add label to clean up all previous channels that had been
initialized correctly. Unfortunately, while handling this error
condition, we were disposing the IRQ mapping before calling
mv_xor_channel_remove() (which does the free_irq()), which is
incorrect.

Instead, do things properly in the reverse order of the
initialization: first remove the XOR channel (so that free_irq() is
done), and then dispose the IRQ mapping.

This avoids ugly warnings when for some reason one of the XOR channel
fails to initialize.

Signed-off-by: Thomas Petazzoni &lt;thomas.petazzoni@free-electrons.com&gt;
Signed-off-by: Jason Cooper &lt;jason@lakedaemon.net&gt;
</content>
</entry>
<entry>
<title>ioat: Fix DMA memory sync direction correct flag</title>
<updated>2013-01-06T16:36:34Z</updated>
<author>
<name>Shuah Khan</name>
<email>shuah.khan@hp.com</email>
</author>
<published>2012-10-25T16:22:32Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=ac4989874af56435c308bdde9ad9c837a26f8b23'/>
<id>urn:sha1:ac4989874af56435c308bdde9ad9c837a26f8b23</id>
<content type='text'>
ioat does DMA memory sync with DMA_TO_DEVICE direction on a buffer allocated
for DMA_FROM_DEVICE dma, resulting in the following warning from dma debug.
Fixed the dma_sync_single_for_device() call to use the correct direction.

[  226.288947] WARNING: at lib/dma-debug.c:990 check_sync+0x132/0x550()
[  226.288948] Hardware name: ProLiant DL380p Gen8
[  226.288951] ioatdma 0000:00:04.0: DMA-API: device driver syncs DMA memory with different direction [device address=0x00000000ffff7000] [size=4096 bytes] [mapped with DMA_FROM_DEVICE] [synced with DMA_TO_DEVICE]
[  226.288953] Modules linked in: iTCO_wdt(+) sb_edac(+) ioatdma(+) microcode serio_raw pcspkr edac_core hpwdt(+) iTCO_vendor_support hpilo(+) dca acpi_power_meter ata_generic pata_acpi sd_mod crc_t10dif ata_piix libata hpsa tg3 netxen_nic(+) sunrpc dm_mirror dm_region_hash dm_log dm_mod
[  226.288967] Pid: 1055, comm: work_for_cpu Tainted: G        W    3.3.0-0.20.el7.x86_64 #1
[  226.288968] Call Trace:
[  226.288974]  [&lt;ffffffff810644cf&gt;] warn_slowpath_common+0x7f/0xc0
[  226.288977]  [&lt;ffffffff810645c6&gt;] warn_slowpath_fmt+0x46/0x50
[  226.288980]  [&lt;ffffffff81345502&gt;] check_sync+0x132/0x550
[  226.288983]  [&lt;ffffffff81345c9f&gt;] debug_dma_sync_single_for_device+0x3f/0x50
[  226.288988]  [&lt;ffffffff81661002&gt;] ? wait_for_common+0x72/0x180
[  226.288995]  [&lt;ffffffffa019590f&gt;] ioat_xor_val_self_test+0x3e5/0x832 [ioatdma]
[  226.288999]  [&lt;ffffffff811a5739&gt;] ? kfree+0x259/0x270
[  226.289004]  [&lt;ffffffffa0195d77&gt;] ioat3_dma_self_test+0x1b/0x20 [ioatdma]
[  226.289008]  [&lt;ffffffffa01952c3&gt;] ioat_probe+0x2f8/0x348 [ioatdma]
[  226.289011]  [&lt;ffffffffa0195f51&gt;] ioat3_dma_probe+0x1d5/0x2aa [ioatdma]
[  226.289016]  [&lt;ffffffffa0194d12&gt;] ioat_pci_probe+0x139/0x17c [ioatdma]
[  226.289020]  [&lt;ffffffff81354b8c&gt;] local_pci_probe+0x5c/0xd0
[  226.289023]  [&lt;ffffffff81083e50&gt;] ? destroy_work_on_stack+0x20/0x20
[  226.289025]  [&lt;ffffffff81083e68&gt;] do_work_for_cpu+0x18/0x30
[  226.289029]  [&lt;ffffffff8108d997&gt;] kthread+0xb7/0xc0
[  226.289033]  [&lt;ffffffff8166cef4&gt;] kernel_thread_helper+0x4/0x10
[  226.289036]  [&lt;ffffffff81662d20&gt;] ? _raw_spin_unlock_irq+0x30/0x50
[  226.289038]  [&lt;ffffffff81663234&gt;] ? retint_restore_args+0x13/0x13
[  226.289041]  [&lt;ffffffff8108d8e0&gt;] ? kthread_worker_fn+0x1a0/0x1a0
[  226.289044]  [&lt;ffffffff8166cef0&gt;] ? gs_change+0x13/0x13
[  226.289045] ---[ end trace e1618afc7a606089 ]---
[  226.289047] Mapped at:
[  226.289048]  [&lt;ffffffff81345307&gt;] debug_dma_map_page+0x87/0x150
[  226.289050]  [&lt;ffffffffa019653c&gt;] dma_map_page.constprop.18+0x70/0xb34 [ioatdma]
[  226.289054]  [&lt;ffffffffa0195702&gt;] ioat_xor_val_self_test+0x1d8/0x832 [ioatdma]
[  226.289058]  [&lt;ffffffffa0195d77&gt;] ioat3_dma_self_test+0x1b/0x20 [ioatdma]
[  226.289061]  [&lt;ffffffffa01952c3&gt;] ioat_probe+0x2f8/0x348 [ioatdma]

Signed-off-by: Shuah Khan &lt;shuah.khan@hp.com&gt;
CC: &lt;stable@vger.kernel.org&gt;
Signed-off-by: Vinod Koul &lt;vinod.koul@linux.intel.com&gt;
</content>
</entry>
<entry>
<title>Drivers: dma: remove __dev* attributes.</title>
<updated>2013-01-03T23:57:15Z</updated>
<author>
<name>Greg Kroah-Hartman</name>
<email>gregkh@linuxfoundation.org</email>
</author>
<published>2012-12-21T23:09:59Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=4bf27b8b333bcd291664fd0f7d129099d474a23b'/>
<id>urn:sha1:4bf27b8b333bcd291664fd0f7d129099d474a23b</id>
<content type='text'>
CONFIG_HOTPLUG is going away as an option.  As a result, the __dev*
markings need to be removed.

This change removes the use of __devinit, __devexit_p, __devinitconst,
and __devexit from these drivers.

Based on patches originally written by Bill Pemberton, but redone by me
in order to handle some of the coding style issues better, by hand.

Cc: Bill Pemberton &lt;wfp5p@virginia.edu&gt;
Cc: Viresh Kumar &lt;viresh.linux@gmail.com&gt;
Cc: Dan Williams &lt;djbw@fb.com&gt;
Cc: Vinod Koul &lt;vinod.koul@intel.com&gt;
Cc: Barry Song &lt;baohua.song@csr.com&gt;
Cc: Jeff Kirsher &lt;jeffrey.t.kirsher@intel.com&gt;
Cc: Alexander Duyck &lt;alexander.h.duyck@intel.com&gt;
Cc: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
Cc: Linus Walleij &lt;linus.walleij@linaro.org&gt;
Cc: Jassi Brar &lt;jassisinghbrar@gmail.com&gt;
Cc: Dave Jiang &lt;dave.jiang@intel.com&gt;
Cc: Bill Pemberton &lt;wfp5p@virginia.edu&gt;
Cc: Guennadi Liakhovetski &lt;g.liakhovetski@gmx.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
</feed>
