Merge branch 'next' of git://git.infradead.org/users/vkoul/slave-dma
authorLinus Torvalds <torvalds@linux-foundation.org>
Tue, 26 Feb 2013 17:24:48 +0000 (09:24 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 26 Feb 2013 17:24:48 +0000 (09:24 -0800)
Pull slave-dmaengine updates from Vinod Koul:
 "This is fairly big pull by my standards as I had missed last merge
  window.  So we have the support for device tree for slave-dmaengine,
  large updates to dw_dmac driver from Andy for reusing on different
  architectures.  Along with this we have fixes on bunch of the drivers"

Fix up trivial conflicts, usually due to #include line movement next to
each other.

* 'next' of git://git.infradead.org/users/vkoul/slave-dma: (111 commits)
  Revert "ARM: SPEAr13xx: Pass DW DMAC platform data from DT"
  ARM: dts: pl330: Add #dma-cells for generic dma binding support
  DMA: PL330: Register the DMA controller with the generic DMA helpers
  DMA: PL330: Add xlate function
  DMA: PL330: Add new pl330 filter for DT case.
  dma: tegra20-apb-dma: remove unnecessary assignment
  edma: do not waste memory for dma_mask
  dma: coh901318: set residue only if dma is in progress
  dma: coh901318: avoid unbalanced locking
  dmaengine.h: remove redundant else keyword
  dma: of-dma: protect list write operation by spin_lock
  dmaengine: ste_dma40: do not remove descriptors for cyclic transfers
  dma: of-dma.c: fix memory leakage
  dw_dmac: apply default dma_mask if needed
  dmaengine: ioat - fix spare sparse complain
  dmaengine: move drivers/of/dma.c -> drivers/dma/of-dma.c
  ioatdma: fix race between updating ioat->head and IOAT_COMPLETION_PENDING
  dw_dmac: add support for Lynxpoint DMA controllers
  dw_dmac: return proper residue value
  dw_dmac: fill individual length of descriptor
  ...

25 files changed:
1  2 
arch/arm/boot/dts/exynos5250.dtsi
arch/arm/mach-s3c64xx/dma.c
arch/arm/mach-spear3xx/spear3xx.c
arch/arm/mach-spear6xx/spear6xx.c
drivers/dma/Kconfig
drivers/dma/Makefile
drivers/dma/coh901318.c
drivers/dma/coh901318_lli.c
drivers/dma/dw_dmac.c
drivers/dma/edma.c
drivers/dma/ioat/dma.c
drivers/dma/ioat/dma.h
drivers/dma/ioat/dma_v2.c
drivers/dma/ioat/dma_v3.c
drivers/dma/ioat/pci.c
drivers/dma/iop-adma.c
drivers/dma/mmp_pdma.c
drivers/dma/mv_xor.c
drivers/dma/pch_dma.c
drivers/dma/pl330.c
drivers/dma/sh/shdma.c
drivers/dma/sirf-dma.c
drivers/dma/tegra20-apb-dma.c
drivers/mtd/nand/fsmc_nand.c
net/ipv4/tcp.c

Simple merge
index ec29b35f25c02a02c45c4bd4d7633d2fd125a057,a77f5214bbe82bbde9b0d9dbb70ddb4823480552..6af1aa1ef213293267063c4a20afa07b1a486b4b
@@@ -28,9 -29,8 +29,7 @@@
  #include <mach/map.h>
  #include <mach/irqs.h>
  
- #include <asm/hardware/pl080.h>
 -#include <mach/regs-sys.h>
--
 +#include "regs-sys.h"
  
  /* dma channel state information */
  
index b2ba516ca2d4ee4a46e8eb9a4a328bebb09aa3dd,3d9b1b5e8ed9a2126e7130c24fd51b0e1fdf2e88..f9d754f90c5991e6bce11371fa5702f9a8d81c16
  
  #include <linux/amba/pl022.h>
  #include <linux/amba/pl08x.h>
 -#include <linux/irqchip/spear-shirq.h>
 -#include <linux/of_irq.h>
  #include <linux/io.h>
- #include <asm/hardware/pl080.h>
 -#include <asm/hardware/vic.h>
  #include <plat/pl080.h>
  #include <mach/generic.h>
  #include <mach/spear.h>
index b8bd33ca88bdba6a7d880bfd8ef56d8cf3507dc3,8ce65a23b06e2d139d4d1f182fd47c197b8fe63f..8904d8a52d8486b9b8023c4b49b7846dfd6f99a0
  #include <linux/amba/pl08x.h>
  #include <linux/clk.h>
  #include <linux/err.h>
 +#include <linux/irqchip.h>
  #include <linux/of.h>
  #include <linux/of_address.h>
 -#include <linux/of_irq.h>
  #include <linux/of_platform.h>
- #include <asm/hardware/pl080.h>
+ #include <linux/amba/pl080.h>
 -#include <asm/hardware/vic.h>
  #include <asm/mach/arch.h>
  #include <asm/mach/time.h>
  #include <asm/mach/map.h>
Simple merge
Simple merge
Simple merge
Simple merge
index b33d1f6e13332400beab684bee3a092776531854,4c83f18803f1b351a09962775d0a78a8ccdef9d7..51c3ea2ed41af67e26dc09169fb51fbcc6117ac4
@@@ -14,7 -14,7 +14,8 @@@
  #include <linux/delay.h>
  #include <linux/dmaengine.h>
  #include <linux/dma-mapping.h>
+ #include <linux/dmapool.h>
 +#include <linux/err.h>
  #include <linux/init.h>
  #include <linux/interrupt.h>
  #include <linux/io.h>
@@@ -1490,10 -1657,16 +1658,16 @@@ static int dw_probe(struct platform_dev
        if (irq < 0)
                return irq;
  
 -      regs = devm_request_and_ioremap(&pdev->dev, io);
 -      if (!regs)
 -              return -EBUSY;
 +      regs = devm_ioremap_resource(&pdev->dev, io);
 +      if (IS_ERR(regs))
 +              return PTR_ERR(regs);
  
+       /* Apply default dma_mask if needed */
+       if (!pdev->dev.dma_mask) {
+               pdev->dev.dma_mask = &pdev->dev.coherent_dma_mask;
+               pdev->dev.coherent_dma_mask = DMA_BIT_MASK(32);
+       }
        dw_params = dma_read_byaddr(regs, DW_PARAMS);
        autocfg = dw_params >> DW_PARAMS_EN & 0x1;
  
Simple merge
Simple merge
Simple merge
Simple merge
index 3e9d66920eb3491d85b8c6027ac786a76242e107,2acd1ad57fd6f587a3edfbc45a20bef5fbd5f0d6..e8336cce360b8f03a504890dc5ee426a2179f3ff
@@@ -1187,7 -1239,27 +1239,27 @@@ static bool is_snb_ioat(struct pci_dev 
        }
  }
  
 -int __devinit ioat3_dma_probe(struct ioatdma_device *device, int dca)
+ static bool is_ivb_ioat(struct pci_dev *pdev)
+ {
+       switch (pdev->device) {
+       case PCI_DEVICE_ID_INTEL_IOAT_IVB0:
+       case PCI_DEVICE_ID_INTEL_IOAT_IVB1:
+       case PCI_DEVICE_ID_INTEL_IOAT_IVB2:
+       case PCI_DEVICE_ID_INTEL_IOAT_IVB3:
+       case PCI_DEVICE_ID_INTEL_IOAT_IVB4:
+       case PCI_DEVICE_ID_INTEL_IOAT_IVB5:
+       case PCI_DEVICE_ID_INTEL_IOAT_IVB6:
+       case PCI_DEVICE_ID_INTEL_IOAT_IVB7:
+       case PCI_DEVICE_ID_INTEL_IOAT_IVB8:
+       case PCI_DEVICE_ID_INTEL_IOAT_IVB9:
+               return true;
+       default:
+               return false;
+       }
+ }
 +int ioat3_dma_probe(struct ioatdma_device *device, int dca)
  {
        struct pci_dev *pdev = device->pdev;
        int dca_en = system_has_dca_enabled(pdev);
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
diff --cc net/ipv4/tcp.c
Simple merge