summaryrefslogtreecommitdiffstats
path: root/drivers/dma
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'next' of ↵Linus Torvalds2010-08-0915-364/+3146
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx: (30 commits) DMAENGINE: at_hdmac: locking fixlet DMAENGINE: pch_dma: kill another usage of __raw_{read|write}l dma: dmatest: fix potential sign bug ioat2: catch and recover from broken vtd configurations v6 DMAENGINE: add runtime slave control to COH 901 318 v3 DMAENGINE: add runtime slave config to DMA40 v3 DMAENGINE: generic slave channel control v3 dmaengine: Driver for Topcliff PCH DMA controller intel_mid: Add Mrst & Mfld DMA Drivers drivers/dma: Eliminate a NULL pointer dereference dma/timb_dma: compile warning on 32 bit DMAENGINE: ste_dma40: support older silicon DMAENGINE: ste_dma40: support disabling physical channels DMAENGINE: ste_dma40: no disabled phy channels on ux500 DMAENGINE: ste_dma40: fix suspend bug DMAENGINE: ste_dma40: add DB8500 memcpy channels DMAENGINE: ste_dma40: no flow control on memcpy DMAENGINE: ste_dma40: arch updates for LCLA and LCPA DMAENGINE: ste_dma40: allocate LCLA dynamically DMAENGINE: ste_dma40: no premature stop ... Fix up trivial conflicts in arch/arm/mach-ux500/devices-db8500.c
| * DMAENGINE: at_hdmac: locking fixletYong Wang2010-08-041-2/+2
| | | | | | | | | | | | | | | | atc_chain_complete shall be called with atchan->lock held and bh disabled. Signed-off-by: Yong Wang <yong.y.wang@intel.com> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
| * DMAENGINE: pch_dma: kill another usage of __raw_{read|write}lYong Wang2010-08-041-2/+2
| | | | | | | | | | | | | | | | Use {read|write}l instead of __raw_{read|write}l since PCH DMA controller is PCI device. Signed-off-by: Yong Wang <yong.y.wang@intel.com> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
| * dma: dmatest: fix potential sign bugKulikov Vasiliy2010-08-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 'cnt' is unsigned, so this code may become wrong in future as dmatest_add_threads() can return error code: cnt = dmatest_add_threads(dtc, DMA_MEMCPY); thread_count += cnt > 0 ? cnt : 0; ^^^^^^^ Now it can return only -EINVAL if and only if second argument of dmatest_add_threads() is not one of DMA_MEMCPY, DMA_XOR, DMA_PQ. So, now it is not wrong but may become wrong in future. The semantic patch that finds this problem (many false-positive results): (http://coccinelle.lip6.fr/) // <smpl> @ r1 @ identifier f; @@ int f(...) { ... } @@ identifier r1.f; type T; unsigned T x; @@ *x = f(...) ... *x > 0 Signed-off-by: Kulikov Vasiliy <segooon@gmail.com> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
| * ioat2: catch and recover from broken vtd configurations v6Dan Williams2010-08-043-3/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On some platforms (MacPro3,1) the BIOS assigns the ioatdma device to the incorrect iommu causing faults when the driver initializes. Add a quirk to catch this misconfiguration and try falling back to untranslated operation (which works in the MacPro3,1 case). Assuming there are other platforms with misconfigured iommus teach the ioatdma driver to treat initialization failures as non-fatal (just fail the driver load and emit a warning instead of triggering a BUG_ON). This can be classified as a boot regression since 2.6.32 on affected platforms since the ioatdma module did not autoload prior to that kernel. Cc: <stable@kernel.org> Acked-by: David Woodhouse <David.Woodhouse@intel.com> Reported-by: Chris Li <lkml@chrisli.org> Tested-by: Chris Li <lkml@chrisli.org> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
| * DMAENGINE: add runtime slave control to COH 901 318 v3Linus Walleij2010-08-041-0/+169
| | | | | | | | | | | | | | | | This extends the DMA engine driver for the COH 901 318 used in the U300 platform with the generic runtime slave control command. Signed-off-by: Linus Walleij <linus.walleij@stericsson.com> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
| * DMAENGINE: add runtime slave config to DMA40 v3Linus Walleij2010-08-041-4/+137
| | | | | | | | | | | | | | | | | | This extends the DMA engine driver for the DMA40 used in the U8500 platform with the generic runtime slave configuration interface. Signed-off-by: Linus Walleij <linus.walleij@stericsson.com> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
| * dmaengine: Driver for Topcliff PCH DMA controllerYong Wang2010-08-043-0/+965
| | | | | | | | | | | | | | | | | | | | | | | | Topcliff PCH is the platform controller hub that is going to be used in Intel's upcoming general embedded platforms. This adds the driver for Topcliff PCH DMA controller. The DMA channels are strictly for device to host or host to device transfers and cannot be used for generic memcpy. Signed-off-by: Yong Wang <yong.y.wang@intel.com> [kill GFP_ATOMIC, kill __raw_{read|write}l, locking fixlet] Signed-off-by: Dan Williams <dan.j.williams@intel.com>
| * intel_mid: Add Mrst & Mfld DMA DriversVinod Koul2010-07-274-0/+1417
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch add DMA drivers for DMA controllers in Langwell chipset of Intel(R) Moorestown platform and DMA controllers in Penwell of Intel(R) Medfield platfrom This patch adds support for Moorestown DMAC1 and DMAC2 controllers. It also add support for Medfiled GP DMA and DMAC1 controllers. These controllers supports memory to peripheral and peripheral to memory transfers. It support only single block transfers. This driver is based on Kernel DMA engine Anyone who wishes to use this controller should use DMA engine APIs This controller exposes DMA_SLAVE capabilities and notifies the client drivers of DMA transaction completion Config option required to be enabled CONFIG_INTEL_MID_DMAC=y Signed-off-by: Vinod Koul <vinod.koul@intel.com> Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
| * Merge branch 'timb' into dmaengineDan Williams2010-07-011-4/+4
| |\
| | * drivers/dma: Eliminate a NULL pointer dereferenceJulia Lawall2010-07-011-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If td_desc is NULL, just skip both kfrees. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @r exists@ expression E,E1; identifier f; statement S1,S2,S3; @@ if ((E == NULL && ...) || ...) { ... when != if (...) S1 else S2 when != E = E1 * E->f ... when any return ...; } else S3 // </smpl> Signed-off-by: Julia Lawall <julia@diku.dk> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
| | * dma/timb_dma: compile warning on 32 bitDan Carpenter2010-07-011-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | This silences a compile warning on 32 bit systems: drivers/dma/timb_dma.c:203: warning: cast to pointer from integer of different size Signed-off-by: Dan Carpenter <error27@gmail.com> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
| * | DMAENGINE: ste_dma40: support older siliconLinus Walleij2010-06-221-4/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes sure the DMA40 driver will also work on the oldest silicon revisions that have the on-chip memory on another location in the DB8500 and also requires explicit suspend before starting or resuming a logical channel. Signed-off-by: Linus Walleij <linus.walleij@stericsson.com> [added parenthesis to the definition of U8500_DMA_LCPA_BASE_ED] Signed-off-by: Dan Williams <dan.j.williams@intel.com>
| * | DMAENGINE: ste_dma40: support disabling physical channelsJonas Aaberg2010-06-221-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | This makes it possible to disable physical channels. Signed-off-by: Jonas Aaberg <jonas.aberg@stericsson.com> Signed-off-by: Linus Walleij <linus.walleij@stericsson.com> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
| * | DMAENGINE: ste_dma40: fix suspend bugJonas Aaberg2010-06-221-20/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes a bug when suspending channels: first make the checks, then suspend the channel, not the other way around. Signed-off-by: Jonas Aaberg <jonas.aberg@stericsson.com> Signed-off-by: Linus Walleij <linus.walleij@stericsson.com> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
| * | DMAENGINE: ste_dma40: allocate LCLA dynamicallyLinus Walleij2010-06-223-102/+168
| | | | | | | | | | | | | | | | | | | | | | | | | | | Switch to allocating LCLA in memory instead of having a fixed address. Signed-off-by: Jonas Aaberg <jonas.aberg@stericsson.com> Signed-off-by: Linus Walleij <linus.walleij@stericsson.com> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
| * | DMAENGINE: ste_dma40: no premature stopJonas Aaberg2010-06-221-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | Correct bug that could cause paused channels to stop. Signed-off-by: Jonas Aaberg <jonas.aberg@stericsson.com> Signed-off-by: Linus Walleij <linus.walleij@stericsson.com> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
| * | DMAENGINE: ste_dma40: interrupts only on dstJonas Aaberg2010-06-222-8/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We don't want interrupts when the source is done, only when the destination is done and everything is complete at the recieveing end of a transfer. Signed-off-by: Jonas Aaberg <jonas.aberg@stericsson.com> Signed-off-by: Linus Walleij <linus.walleij@stericsson.com> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
| * | DMAENGINE: ste_dma40: avoid doing unnessecary suspendJonas Aaberg2010-06-221-32/+7
| | | | | | | | | | | | | | | | | | | | | | | | Avoid doing unnessecary suspend when modifying logical channels. Signed-off-by: Jonas Aaberg <jonas.aberg@stericsson.com> Signed-off-by: Linus Walleij <linus.walleij@stericsson.com> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
| * | DMAENGINE: ste_dma40: lock fixJonas Aaberg2010-06-221-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | Fix up some locking issues found by enabling lock debugging. Signed-off-by: Jonas Aaberg <jonas.aberg@stericsson.com> Signed-off-by: Linus Walleij <linus.walleij@stericsson.com> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
| * | DMAENGINE: ste_dma40: deny ops on non-alloc channelsJonas Aaberg2010-06-221-0/+44
| | | | | | | | | | | | | | | | | | | | | | | | Added checks to deny operating on none-allocated channels. Signed-off-by: Jonas Aaberg <jonas.aberg@stericsson.com> Signed-off-by: Linus Walleij <linus.walleij@stericsson.com> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
| * | DMAENGINE: ste_dma40: various cosmetic clean-upsJonas Aaberg2010-06-222-67/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | This cleans up some extra newlines, removes some code duplication and moves the code to comply better with checkpatch. Signed-off-by: Jonas Aaberg <jonas.aberg@stericsson.com> Signed-off-by: Linus Walleij <linus.walleij@stericsson.com> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
| * | DMAENGINE: ste_dma40: improve allocation error handlingJonas Aaberg2010-06-221-14/+10
| | | | | | | | | | | | | | | | | | | | | | | | Better error handling when channel allocation fails. Signed-off-by: Jonas Aaberg <jonas.aberg@stericsson.com> Signed-off-by: Linus Walleij <linus.walleij@stericsson.com> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
| * | DMAENGINE: ste_dma40: use kmem cacheJonas Aaberg2010-06-221-34/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | Use kmem cache instead of own cache, reducing code duplication and bug sources. Signed-off-by: Jonas Aaberg <jonas.aberg@stericsson.com> Signed-off-by: Linus Walleij <linus.walleij@stericsson.com> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
| * | DMAENGINE: ste_dma40: moved freeing of client owned descPer Friden2010-06-221-12/+12
| | | | | | | | | | | | | | | | | | | | | | | | fixed typo and moved freeing of client owned desc to free_dma. Signed-off-by: Jonas Aaberg <jonas.aberg@stericsson.com> Signed-off-by: Linus Walleij <linus.walleij@stericsson.com> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
| * | DMAENGINE: ste_dma40: only write phy channel config first timeLinus Walleij2010-06-222-32/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | We only need to write the configuration to a physical channel if it is free, else it is already written. Signed-off-by: Jonas Aaberg <jonas.aberg@stericsson.com> Signed-off-by: Linus Walleij <linus.walleij@stericsson.com> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
| * | DMAENGINE: ste_dma40: fixed lli_max=1 issuePer Friden2010-06-221-33/+29
| |/ | | | | | | | | | | | | | | | | Fixed lli_max=1 issue in case of full lcla, currently this case is not properly handled. Signed-off-by: Jonas Aaberg <jonas.aberg@stericsson.com> Signed-off-by: Linus Walleij <linus.walleij@stericsson.com> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
* | Merge branch 'master' into for-nextJiri Kosina2010-08-041-1/+3
|\ \
| * | of/dma: fix build breakage in ppc4xx adma driverDan Williams2010-07-021-1/+3
| |/ | | | | | | | | | | | | | | Convert ppc4xx adma driver to use new node pointer location Signed-off-by: Dan Williams <dan.j.williams@intel.com> Acked-by: Anatolij Gustschin <agust@denx.de> Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
* | Fix spelling contorller -> controller in commentsStefan Weil2010-08-041-1/+1
| | | | | | | | | | | | | | Cc: Jiri Kosina <trivial@kernel.org> Cc: linux-kernel@vger.kernel.org Signed-off-by: Stefan Weil <weil@mail.berlios.de> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
* | Merge branch 'master' into for-nextJiri Kosina2010-06-1625-465/+5744
|\|
| * of/dma: fix build breakage in ppc4xx adma driverAnatolij Gustschin2010-06-021-2/+2
| | | | | | | | | | | | | | | | Fixes build error caused by the OF device_node pointer being moved into struct device Signed-off-by: Anatolij Gustschin <agust@denx.de> Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
| * of/dma: mpc512x_dma.c: Fix build failuresAnatolij Gustschin2010-06-021-5/+5
| | | | | | | | | | | | | | | | | | Fixes build errors caused by the: - OF device_node pointer being moved into struct device - removal of the match_table field from struct of_platform_driver Signed-off-by: Anatolij Gustschin <agust@denx.de> Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
| * Merge branch 'next' of ↵Linus Torvalds2010-05-303-0/+876
| |\ | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx: DMAENGINE: DMA40 U8500 platform configuration DMA: PL330: Add dma api driver
| | * DMA: PL330: Add dma api driverJassi Brar2010-05-233-0/+876
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add DMA Engine API driver for the PL330 DMAC. This driver is supposed to be reusable by various platforms that have one or more PL330 DMACs. Atm, DMA_SLAVE and DMA_MEMCPY capabilities have been implemented. Signed-off-by: Jassi Brar <jassi.brar@samsung.com> Reviewed-by: Linus Walleij <linus.walleij@stericsson.com> [dan.j.williams@intel.com: missing slab.h and ->device_control() fixups] Signed-off-by: Dan Williams <dan.j.williams@intel.com>
| * | kernel-wide: replace USHORT_MAX, SHORT_MAX and SHORT_MIN with USHRT_MAX, ↵Alexey Dobriyan2010-05-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SHRT_MAX and SHRT_MIN - C99 knows about USHRT_MAX/SHRT_MAX/SHRT_MIN, not USHORT_MAX/SHORT_MAX/SHORT_MIN. - Make SHRT_MIN of type s16, not int, for consistency. [akpm@linux-foundation.org: fix drivers/dma/timb_dma.c] [akpm@linux-foundation.org: fix security/keys/keyring.c] Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> Acked-by: WANG Cong <xiyou.wangcong@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
| * | Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6Linus Torvalds2010-05-241-0/+5
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: (25 commits) sh: fix up sh7785lcr_32bit_defconfig. arch/sh/lib/strlen.S: Checkpatch cleanup sh: fix up sh7786 dmaengine build. sh: guard cookie consistency across termination in the DMA driver sh: prevent the DMA driver from unloading, while in use sh: fix Oops in the serial SCI driver sh: allow platforms to specify SD-card supported voltages mmc: let MFD's provide supported Vdd card voltages to tmio_mmc sh: disable SD-card write-protection detection on kfr2r09 mfd: pass platform flags down to the tmio_mmc driver tmio: add a platform flag to disable card write-protection detection sh: Add SDHI DMA support to migor sh: Add SDHI DMA support to kfr2r09 sh: Add SDHI DMA support to ms7724se sh: Add SDHI DMA support to ecovec mmc: add DMA support to tmio_mmc driver, when used on SuperH sh: prepare the SDHI MFD driver to pass DMA configuration to tmio_mmc.c mmc: prepare tmio_mmc for passing of DMA configuration from the MFD cell sh: add DMA slave definitions to sh7724 sh: add DMA slaves for two SDHI controllers to sh7722 ...
| | * | sh: guard cookie consistency across termination in the DMA driverGuennadi Liakhovetski2010-05-221-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If all descriptors on a channel are terminated or the channel is released, update the completed cookie counter to match the last cookie. This prevents inconsistency warning on resumed DMA operation. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * | sh: prevent the DMA driver from unloading, while in useGuennadi Liakhovetski2010-05-221-0/+1
| | |/ | | | | | | | | | | | | | | | | | | | | | This prevents the driver from unloading, while it is in use. Unloading of the driver, while its DMA channels are held, leads to a kernel Oops. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | Merge remote branch 'origin' into secretlab/next-devicetreeGrant Likely2010-05-2225-470/+4883
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Merging in current state of Linus' tree to deal with merge conflicts and build failures in vio.c after merge. Conflicts: drivers/i2c/busses/i2c-cpm.c drivers/i2c/busses/i2c-mpc.c drivers/net/gianfar.c Also fixed up one line in arch/powerpc/kernel/vio.c to use the correct node pointer. Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
| | * Merge branch 'next' of ↵Linus Torvalds2010-05-2124-450/+4845
| | |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx: DMAENGINE: extend the control command to include an arg async_tx: trim dma_async_tx_descriptor in 'no channel switch' case DMAENGINE: DMA40 fix for allocation of logical channel 0 DMAENGINE: DMA40 support paused channel status dmaengine: mpc512x: Use resource_size DMA ENGINE: Do not reset 'private' of channel ioat: Remove duplicated devm_kzalloc() calls for ioatdma_device ioat3: disable cacheline-unaligned transfers for raid operations ioat2,3: convert to producer/consumer locking ioat: convert to circ_buf DMAENGINE: Support for ST-Ericssons DMA40 block v3 async_tx: use of kzalloc/kfree requires the include of slab.h dmaengine: provide helper for setting txstate DMAENGINE: generic channel status v2 DMAENGINE: generic slave control v2 dma: timb-dma: Update comment and fix compiler warning dma: Add timb-dma DMAENGINE: COH 901 318 fix bytesleft DMAENGINE: COH 901 318 rename confusing vars
| | | * Merge branch 'ioat' into dmaengineDan Williams2010-05-1717-209/+170
| | | |\
| | | | * async_tx: trim dma_async_tx_descriptor in 'no channel switch' caseDan Williams2010-05-171-7/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Saves 24 bytes per descriptor (64-bit) when the channel-switching capabilities of async_tx are not required. Signed-off-by: Dan Williams <dan.j.williams@intel.com>
| | | | * ioat: Remove duplicated devm_kzalloc() calls for ioatdma_deviceMinskey Guo2010-05-021-6/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The memory for ioatdma_device structure is being allocated in alloc_ioatdma() Signed-off-by: Minskey Guo <chaohong_guo@linux.intel.com> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
| | | | * ioat3: disable cacheline-unaligned transfers for raid operationsDan Williams2010-05-011-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are cases where cacheline-unaligned raid operations can hang the dma channel. Simply disable these operations by increasing the alignment constraints published to async_tx. The raid456 driver always issues page aligned requests, so the only in-kernel user of the ioatdma driver that is affected by this change is dmatest. Signed-off-by: Dan Williams <dan.j.williams@intel.com>
| | | | * ioat2,3: convert to producer/consumer lockingDan Williams2010-05-014-181/+134
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use separate locks for the descriptor prep (producer) and descriptor cleanup (consumer) paths. Allows the producer path to run concurrently with the cleanup path. Inspired by Documentation/circular-buffer.txt. Cc: David Howells <dhowells@redhat.com> Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com> Cc: Maciej Sosnowski <maciej.sosnowski@intel.com> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
| | | | * ioat: convert to circ_bufDan Williams2010-05-012-12/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use the common power-of-2 circular buffer macros. Signed-off-by: Dan Williams <dan.j.williams@intel.com>
| | | * | DMAENGINE: extend the control command to include an argLinus Walleij2010-05-179-14/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds an argument to the DMAengine control function, so that we can later provide control commands that need some external data passed in through an argument akin to the ioctl() operation prototype. [dan.j.williams@intel.com: fix up some missed conversions] Signed-off-by: Linus Walleij <linus.walleij@stericsson.com> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
| | | * | DMAENGINE: DMA40 fix for allocation of logical channel 0Marcin Mielczarczyk2010-05-171-7/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix for allocation failure of logical channel when event line happens to be number 0. Signed-off-by: Marcin Mielczarczyk <marcin.mielczarczyk@tieto.com> Signed-off-by: Linus Walleij <linus.walleij@stericsson.com> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
| | | * | DMAENGINE: DMA40 support paused channel statusJonas Aaberg2010-05-171-8/+67
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Support determining whether a channel is paused or not using the status function. Signed-off-by: Jonas Aaberg <jonas.aberg@stericsson.com> Signed-off-by: Linus Walleij <linus.walleij@stericsson.com> Signed-off-by: Dan Williams <dan.j.williams@intel.com>