linux/arch/arm
Linus Torvalds d484864dd9 Merge branch 'for-linus' of git://git.linaro.org/people/mszyprowski/linux-dma-mapping
Pull CMA and ARM DMA-mapping updates from Marek Szyprowski:
 "These patches contain two major updates for DMA mapping subsystem
  (mainly for ARM architecture).  First one is Contiguous Memory
  Allocator (CMA) which makes it possible for device drivers to allocate
  big contiguous chunks of memory after the system has booted.

  The main difference from the similar frameworks is the fact that CMA
  allows to transparently reuse the memory region reserved for the big
  chunk allocation as a system memory, so no memory is wasted when no
  big chunk is allocated.  Once the alloc request is issued, the
  framework migrates system pages to create space for the required big
  chunk of physically contiguous memory.

  For more information one can refer to nice LWN articles:

   - 'A reworked contiguous memory allocator':
		http://lwn.net/Articles/447405/

   - 'CMA and ARM':
		http://lwn.net/Articles/450286/

   - 'A deep dive into CMA':
		http://lwn.net/Articles/486301/

   - and the following thread with the patches and links to all previous
     versions:
		https://lkml.org/lkml/2012/4/3/204

  The main client for this new framework is ARM DMA-mapping subsystem.

  The second part provides a complete redesign in ARM DMA-mapping
  subsystem.  The core implementation has been changed to use common
  struct dma_map_ops based infrastructure with the recent updates for
  new dma attributes merged in v3.4-rc2.  This allows to use more than
  one implementation of dma-mapping calls and change/select them on the
  struct device basis.  The first client of this new infractructure is
  dmabounce implementation which has been completely cut out of the
  core, common code.

  The last patch of this redesign update introduces a new, experimental
  implementation of dma-mapping calls on top of generic IOMMU framework.
  This lets ARM sub-platform to transparently use IOMMU for DMA-mapping
  calls if one provides required IOMMU hardware.

  For more information please refer to the following thread:
		http://www.spinics.net/lists/arm-kernel/msg175729.html

  The last patch merges changes from both updates and provides a
  resolution for the conflicts which cannot be avoided when patches have
  been applied on the same files (mainly arch/arm/mm/dma-mapping.c)."

Acked by Andrew Morton <akpm@linux-foundation.org>:
 "Yup, this one please.  It's had much work, plenty of review and I
  think even Russell is happy with it."

* 'for-linus' of git://git.linaro.org/people/mszyprowski/linux-dma-mapping: (28 commits)
  ARM: dma-mapping: use PMD size for section unmap
  cma: fix migration mode
  ARM: integrate CMA with DMA-mapping subsystem
  X86: integrate CMA with DMA-mapping subsystem
  drivers: add Contiguous Memory Allocator
  mm: trigger page reclaim in alloc_contig_range() to stabilise watermarks
  mm: extract reclaim code from __alloc_pages_direct_reclaim()
  mm: Serialize access to min_free_kbytes
  mm: page_isolation: MIGRATE_CMA isolation functions added
  mm: mmzone: MIGRATE_CMA migration type added
  mm: page_alloc: change fallbacks array handling
  mm: page_alloc: introduce alloc_contig_range()
  mm: compaction: export some of the functions
  mm: compaction: introduce isolate_freepages_range()
  mm: compaction: introduce map_pages()
  mm: compaction: introduce isolate_migratepages_range()
  mm: page_alloc: remove trailing whitespace
  ARM: dma-mapping: add support for IOMMU mapper
  ARM: dma-mapping: use alloc, mmap, free from dma_ops
  ARM: dma-mapping: remove redundant code and do the cleanup
  ...

Conflicts:
	arch/x86/include/asm/dma-mapping.h
2012-05-25 09:18:59 -07:00
..
boot Staging tree pull request for 3.5-rc1 2012-05-22 16:34:21 -07:00
common Merge branch 'for-linus' of git://git.linaro.org/people/mszyprowski/linux-dma-mapping 2012-05-25 09:18:59 -07:00
configs Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2012-05-22 18:18:55 -07:00
include/asm Merge branch 'for-linus' of git://git.linaro.org/people/mszyprowski/linux-dma-mapping 2012-05-25 09:18:59 -07:00
kernel Merge branch 'for-linus' of git://git.linaro.org/people/mszyprowski/linux-dma-mapping 2012-05-25 09:18:59 -07:00
lib ARM: Remove support for ARMv3 ARM610 and ARM710 CPUs 2012-05-05 05:50:50 +01:00
mach-at91 Staging tree pull request for 3.5-rc1 2012-05-22 16:34:21 -07:00
mach-bcmring ARM: bcmring: fix UART declarations 2012-04-18 21:21:45 -07:00
mach-clps711x ARM: clps711x: Cleanup IRQ handling 2012-05-15 21:20:59 +02:00
mach-cns3xxx ARM: PCI: provide a default bus scan implementation 2012-05-13 17:12:17 +01:00
mach-davinci arm: davinci: use for_each_set_bit_from 2012-05-09 17:22:07 +05:30
mach-dove arm-soc: First batch of cleanups 2012-05-22 09:23:24 -07:00
mach-ebsa110 ARM: cleanups of io includes 2012-03-29 18:02:10 -07:00
mach-ep93xx arm: ep93xx: use gpio_led_register_device 2012-04-12 09:38:15 +10:00
mach-exynos USB 3.5-rc1 pull request 2012-05-22 15:50:46 -07:00
mach-footbridge ARM: PCI: provide a default bus scan implementation 2012-05-13 17:12:17 +01:00
mach-gemini ARM: remove bunch of now unused mach/io.h files 2012-03-06 21:34:44 -06:00
mach-h720x ARM: A few more platform fixes for include file fallout 2012-03-30 17:00:34 -07:00
mach-highbank ARM: cleanups of io includes 2012-03-29 18:02:10 -07:00
mach-imx GPIO driver changes for v3.5 merge window 2012-05-24 14:01:46 -07:00
mach-integrator Merge branches 'amba', 'devel-stable', 'fixes', 'mach-types', 'mmci', 'pci' and 'versatile' into for-linus 2012-05-21 15:15:10 +01:00
mach-iop13xx ARM: PCI: get rid of pci_std_swizzle() 2012-05-13 17:12:16 +01:00
mach-iop32x ARM: PCI: provide a default bus scan implementation 2012-05-13 17:12:17 +01:00
mach-iop33x ARM: PCI: provide a default bus scan implementation 2012-05-13 17:12:17 +01:00
mach-ixp4xx Merge branch 'for-linus' of git://git.linaro.org/people/rmk/linux-arm 2012-05-21 16:01:50 -07:00
mach-kirkwood arm-soc: board specific changes 2012-05-22 13:32:53 -07:00
mach-ks8695 ARM: PCI: provide a default bus scan implementation 2012-05-13 17:12:17 +01:00
mach-l7200/include/mach
mach-lpc32xx GPIO driver changes for v3.5 merge window 2012-05-24 14:01:46 -07:00
mach-mmp arm-soc: board specific changes 2012-05-22 13:32:53 -07:00
mach-msm Merge branch 'msm-core' of git://git.kernel.org/pub/scm/linux/kernel/git/davidb/linux-msm into next/cleanup 2012-05-11 22:31:02 -07:00
mach-mv78xx0 ARM: PCI: dove/kirkwood/mv78xx0: use sys->private_data 2012-05-16 15:24:11 +01:00
mach-mxs arm-soc: soc-specific pinctrl changes 2012-05-22 09:39:42 -07:00
mach-netx ARM: __io abuse cleanup 2012-03-13 21:25:21 -05:00
mach-nomadik ARM: nomadik: enable PINCTRL_NOMADIK where needed 2012-05-15 14:42:57 +02:00
mach-omap1 GPIO driver changes for v3.5 merge window 2012-05-24 14:01:46 -07:00
mach-omap2 GPIO driver changes for v3.5 merge window 2012-05-24 14:01:46 -07:00
mach-orion5x arm-soc: board specific changes 2012-05-22 13:32:53 -07:00
mach-picoxcell ARM: cleanups of io includes 2012-03-29 18:02:10 -07:00
mach-pnx4008 i2c-pnx.c: Remove duplicated i2c.h 2012-04-22 11:59:47 +02:00
mach-prima2 ARM: PRIMA2: fix irq domain size and IRQ mask of internal interrupt controller 2012-05-16 21:52:13 -07:00
mach-pxa arm-soc: board specific changes 2012-05-22 13:32:53 -07:00
mach-realview ARM: cleanups of io includes 2012-03-29 18:02:10 -07:00
mach-rpc ARM: cleanups of io includes 2012-03-29 18:02:10 -07:00
mach-s3c24xx ARM: S3C24XX: Use common macro to define resources on mach-qt2410.c 2012-05-13 06:47:18 +09:00
mach-s3c64xx Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2012-05-22 19:22:50 -07:00
mach-s3c2410 Disintegrate asm/system.h for ARM 2012-03-28 18:30:01 +01:00
mach-s3c2412 Disintegrate asm/system.h for ARM 2012-03-28 18:30:01 +01:00
mach-s3c2440 Disintegrate asm/system.h for ARM 2012-03-28 18:30:01 +01:00
mach-s5p64x0 ARM: S5P64X0: Use common macro to define resources on dev-audio.c 2012-05-12 16:12:30 +09:00
mach-s5pc100 ARM: S5PC100: Use common macro to define resources on dev-audio.c 2012-05-12 16:12:30 +09:00
mach-s5pv210 USB 3.5-rc1 pull request 2012-05-22 15:50:46 -07:00
mach-sa1100 Merge branches 'amba', 'devel-stable', 'fixes', 'mach-types', 'mmci', 'pci' and 'versatile' into for-linus 2012-05-21 15:15:10 +01:00
mach-shark ARM: PCI: provide a default bus scan implementation 2012-05-13 17:12:17 +01:00
mach-shmobile Sound updates for 3.5-rc1 2012-05-23 13:05:43 -07:00
mach-spear3xx arm-soc: soc-specific pinctrl changes 2012-05-22 09:39:42 -07:00
mach-spear6xx arm-soc: device tree conversions, part 1 2012-05-22 09:30:52 -07:00
mach-tegra Sound updates for 3.5-rc1 2012-05-23 13:05:43 -07:00
mach-u300 ARM: u300: bump all IRQ numbers by one 2012-04-20 09:52:58 +02:00
mach-ux500 Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 2012-05-23 15:59:10 -07:00
mach-versatile Merge branches 'amba', 'devel-stable', 'fixes', 'mach-types', 'mmci', 'pci' and 'versatile' into for-linus 2012-05-21 15:15:10 +01:00
mach-vexpress ARM: vexpress: plug local timers into the DT code 2012-04-27 13:39:01 +01:00
mach-vt8500 ARM: remove bunch of now unused mach/io.h files 2012-03-06 21:34:44 -06:00
mach-w90x900 ARM: A few more platform fixes for include file fallout 2012-03-30 17:00:34 -07:00
mach-zynq ARM: remove bunch of now unused mach/io.h files 2012-03-06 21:34:44 -06:00
mm Merge branch 'for-linus' of git://git.linaro.org/people/mszyprowski/linux-dma-mapping 2012-05-25 09:18:59 -07:00
net ARM: 7259/3: net: JIT compiler for packet filters 2012-03-24 09:38:56 +00:00
nwfpe Merge branch 'master' into for-next 2012-04-08 21:48:52 +02:00
oprofile
plat-iop ARM: PCI: provide a default bus scan implementation 2012-05-13 17:12:17 +01:00
plat-mxc Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media 2012-05-24 10:21:51 -07:00
plat-nomadik ARM: nomadik: enable PINCTRL_NOMADIK where needed 2012-05-15 14:42:57 +02:00
plat-omap GPIO driver changes for v3.5 merge window 2012-05-24 14:01:46 -07:00
plat-orion orion/kirkwood: create a generic function for gpio led blinking 2012-05-15 03:12:14 +00:00
plat-pxa Disintegrate asm/system.h for ARM 2012-03-28 18:30:01 +01:00
plat-s3c24xx ARM: fix builds due to missing <asm/system_misc.h> includes 2012-03-30 15:44:40 -07:00
plat-s5p Merge branch 'samsung/cleanup-exynos-clock' into next/soc 2012-03-20 10:07:48 +00:00
plat-samsung USB 3.5-rc1 pull request 2012-05-22 15:50:46 -07:00
plat-spear arm-soc: soc-specific pinctrl changes 2012-05-22 09:39:42 -07:00
plat-versatile ARM: 7389/2: plat-versatile: modernize FPGA IRQ controller 2012-05-04 16:53:37 +01:00
tools ARM: Update mach-types 2012-04-26 08:46:02 +01:00
vfp Merge branch 'misc' into for-linus 2012-05-21 15:15:24 +01:00
Kconfig Merge branch 'for-linus' of git://git.linaro.org/people/mszyprowski/linux-dma-mapping 2012-05-25 09:18:59 -07:00
Kconfig-nommu
Kconfig.debug Merge branch 'for-linus' of git://git.linaro.org/people/rmk/linux-arm 2012-03-29 16:53:48 -07:00
Makefile arm-soc: First batch of cleanups 2012-05-22 09:23:24 -07:00